{ "info": { "author": "Mahmoud Hashemi and Mark Williams", "author_email": "mahmoudrhashemi@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Libraries" ], "description": "Cronfed\n=======\n\nCronfed is a tool for monitoring basic batch jobs, or any other\ncron-based scheduled commands. It achieves this by parsing a given\nmailbox and turning it into an RSS feed, which can then be monitored\nwith your browser_, feedreader_ or other RSS-compatible service (such\nas IFTTT_).\n\nSimply add a cron job to generate the feed, pointing it at a\nweb-accessible location (such as a ``public_html`` directory or your\nsite's assets directory). Check out the example for some real-world\nCronfed usage, with an explanation of how cron and Cronfed work\ntogether.\n\nCronfed is aimed at providing a basic threshold of monitoring without\ncomplex automation or dependencies, making it suitable for smaller\nprojects which otherwise might go without any monitoring at all. It's\nso easy to set up and use on the standard Linux/BSD machine that\nthere's no reason to not use it from Day 1. While Cronfed makes\nattempts at limiting the amount of information externalized, it is not\nrecommended for jobs with extremely-sensitive information.\n\n*\"Cronfed: It's the least you could do!\"*\n\nExample\n-------\n\nFirst, let's look at a basic cron job. This one will fetch our data\nonce an hour, on the hour::\n\n 0 * * * * /usr/bin/python /home/myuser/project/fetch.py 2>&1 | tee -a /home/myuser/project/logs/fetch.txt\n\nNotice how the output (``stdout`` + ``stderr``) is piped to a log file,\nbut using the ``tee`` command. This ensures that the output goes to the\nfile as well as ``stdout``. ``cron`` captures that ``stdout`` and puts it\ninto an email, which then gets sent to the user who owns the job. This\nusually means the email goes to ``myuser@localhost``, which on many\ndistributions means that it is saved to ``/var/mail/myuser``. Do note\nthat if the command generates no output, then ``cron`` **will not send\nan email**, so it's a good idea to emit an error message.\n\nOnce we're sure that email is being delivered, we're halfway\nthere. Now we just need the actual Cronfed cronjob::\n\n */15 * * * * /usr/bin/python -m cronfed --output /var/www/mysite/assets/cronfed.rss /var/mail/myuser 2>&1 | tee -a /home/myuser/project/logs/cronfed.txt\n\nIn this example we have the installed ``cronfed`` module regenerating\nour feed every fifteen minutes. This is a pretty quick process in most\ncases, so feel free to make it more often. In this case, the output of\ncronfed itself is monitored in exactly the same way as normal cron\njobs, with a logfile and email to ``user@localhost``.\n\nHistory\n-------\n\nCronfed was created for `Hatnote`_ to monitor the periodic data refreshes\nnecessary to generate `The Weeklypedia`_.\n\n\n.. _browser: https://www.mozilla.org/en-US/firefox/new/\n.. _feedreader: https://theoldreader.com/\n.. _IFTTT: https://ifttt.com/\n.. _Hatnote: http://hatnote.com\n.. _The Weeklypedia: http://weekly.hatnote.com\n\n* Copyright: (c) 2015 by Mark Williams and Mahmoud Hashemi\n* License: BSD, see LICENSE for more details.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hatnote/cronfed", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "cronfed", "package_url": "https://pypi.org/project/cronfed/", "platform": "any", "project_url": "https://pypi.org/project/cronfed/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/hatnote/cronfed" }, "release_url": "https://pypi.org/project/cronfed/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Bare minimum cron job monitoring for the masses.", "version": "0.2.1" }, "last_serial": 1447506, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "fcfdf4778d9bf97d4b60e04fc6f3b665", "sha256": "fda5f33a4f0a947b68c6296b339a4ee62cdac675646253fb59ea10e7b4b1cd56" }, "downloads": -1, "filename": "cronfed-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fcfdf4778d9bf97d4b60e04fc6f3b665", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3032, "upload_time": "2015-03-04T11:00:53", "url": "https://files.pythonhosted.org/packages/86/f7/16b0d9d3bbd99be236d43e95463557cfe178166638ca6dc68dc8a1be51cf/cronfed-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "e9baf9e11df2813fa982abf534499f30", "sha256": "ed0819c6c76b82a5ea2567a8d431583aec47a0196f80b10244058053a7dcf65d" }, "downloads": -1, "filename": "cronfed-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e9baf9e11df2813fa982abf534499f30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5777, "upload_time": "2015-03-04T11:11:37", "url": "https://files.pythonhosted.org/packages/ba/86/8a9a8fd6b791f03224f1e76b6c999197187de0d26e11f3cb7e9cee0bfe5d/cronfed-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e9baf9e11df2813fa982abf534499f30", "sha256": "ed0819c6c76b82a5ea2567a8d431583aec47a0196f80b10244058053a7dcf65d" }, "downloads": -1, "filename": "cronfed-0.2.1.tar.gz", "has_sig": false, "md5_digest": "e9baf9e11df2813fa982abf534499f30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5777, "upload_time": "2015-03-04T11:11:37", "url": "https://files.pythonhosted.org/packages/ba/86/8a9a8fd6b791f03224f1e76b6c999197187de0d26e11f3cb7e9cee0bfe5d/cronfed-0.2.1.tar.gz" } ] }