{ "info": { "author": "Mahdi Ghane.g", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: CherryPy", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Libraries" ], "description": "Marbaloo Schedule\n=================\n\n`Schedule `_ support for cherrypy.\n\n\nInstallation\n------------\n::\n\n pip install marbaloo_schedule\n\nUsage\n-----\n\n::\n\n # app.py\n import cherrypy\n import marbaloo_schedule\n\n schedule_plugin = marbaloo_schedule.Plugin(cherrypy.engine)\n schedule_plugin.subscribe()\n cherrypy.tools.schedule = marbaloo_schedule.Tool()\n\n\n class Root(object):\n job_started = False\n\n def do_jobs(self):\n import schedule\n # request level jobs\n # e.g: send emails\n # if my_job_completed:\n # schedule.CancelJob\n pass\n\n @cherrypy.expose\n def index(self):\n schedule = cherrypy.request.schedule\n if self.job_started is False:\n schedule.every(5).seconds.do(self.do_jobs)\n return 'jobs started :)'\n else:\n return 'jobs already started!'\n\n config = {\n '/': {\n 'tools.schedule.on': True\n }\n }\n cherrypy.quickstart(Root(), '/', config)\n\nAnd for server level jobs something like this:\n\n::\n\n\n import cherrypy\n import marbaloo_schedule\n\n schedule_plugin = marbaloo_schedule.Plugin(cherrypy.engine)\n schedule_plugin.subscribe()\n\n\n class Root:\n pass\n\n cherrypy.tree.mount(Root(), '/', {})\n cherrypy.engine.signals.subscribe()\n cherrypy.engine.start()\n\n\n def do_server_jobs():\n # server level jobs\n print('Job is Done')\n schedule_plugin.schedule.every(5).seconds.do(do_server_jobs)\n\n cherrypy.engine.block()\n\nP.S: For stop jobs anywhere, use `schedule tags `_.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/marbaloo/marbaloo_schedule", "keywords": "schedule cherrypy marbaloo marbaloo_schedule", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "marbaloo_schedule", "package_url": "https://pypi.org/project/marbaloo_schedule/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/marbaloo_schedule/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/marbaloo/marbaloo_schedule" }, "release_url": "https://pypi.org/project/marbaloo_schedule/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "Schedule support for cherrypy.", "version": "0.1.0" }, "last_serial": 2646363, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1cf4ceec9e9a674c03ba395edfd1aecc", "sha256": "d3c35a85d9a12c9c7ae107ed29dfd5a85f52b33f7c3553aba0a984c868d05dc5" }, "downloads": -1, "filename": "marbaloo_schedule-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1cf4ceec9e9a674c03ba395edfd1aecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2017-02-16T09:16:45", "url": "https://files.pythonhosted.org/packages/3f/23/ed45a1b3ba5418b89c4941c2c3b244f8339308515caaf63973f1c516ad44/marbaloo_schedule-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1cf4ceec9e9a674c03ba395edfd1aecc", "sha256": "d3c35a85d9a12c9c7ae107ed29dfd5a85f52b33f7c3553aba0a984c868d05dc5" }, "downloads": -1, "filename": "marbaloo_schedule-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1cf4ceec9e9a674c03ba395edfd1aecc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2669, "upload_time": "2017-02-16T09:16:45", "url": "https://files.pythonhosted.org/packages/3f/23/ed45a1b3ba5418b89c4941c2c3b244f8339308515caaf63973f1c516ad44/marbaloo_schedule-0.1.0.tar.gz" } ] }