{ "info": { "author": "Asmodius", "author_email": "asmodius.a@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Sanic Scheduler\n\nSanic Scheduler runs a functions on a schedule.\n\n## Installation\n\nAutomatic installation:\n```bash\n$ pip install sanic-scheduler\n```\n\nSanic Scheduler is listed in [PyPI](https://pypi.python.org/pypi/sanic-scheduler) and can be installed with pip or easy_install.\n\nManual installation:\n```bash\n$ git clone https://github.com/asmodius/sanic-scheduler.git\n$ cd sanic_scheduler\n$ python setup.py install\n```\n\nSanic Scheduler source code is [hosted on GitHub](https://github.com/asmodius/sanic-scheduler)\n\n## Usage\n\n```python\nimport asyncio\nfrom datetime import datetime, time, timedelta\n\nfrom sanic import Sanic\n\nfrom sanic_scheduler import SanicScheduler, task\n\n\napp = Sanic()\nscheduler = SanicScheduler(app)\n\n\n@task(timedelta(seconds=30))\ndef hello(app):\n \"\"\"Runs the function every 30 seconds.\"\"\"\n print(\"Hello, {0}\".format(app), datetime.now())\n\n\n@task(timedelta(hours=1), time(hour=1, minute=30))\nasync def foo_bar(_):\n \"\"\"Runs the function every 1 hours after 1:30.\"\"\"\n print(\"Foo\", datetime.now())\n await asyncio.sleep(1)\n print(\"Bar\")\n\n\n@task(timedelta(minutes=2), timedelta(seconds=10))\ndef baz(_):\n \"\"\"Runs the function every 2 minutes after 10 seconds.\"\"\"\n print(\"Baz\", datetime.now())\n\n\n@task(start=timedelta(seconds=10))\ndef another(_):\n \"\"\"Run the function after 10 seconds once.\"\"\"\n print(\"another\", datetime.now())\n\n\nif __name__ == \"__main__\":\n app.run(host='127.0.0.1', port=5000, debug=True)\n```\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/asmodius/sanic-scheduler", "keywords": "sanic schedule", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "sanic-scheduler", "package_url": "https://pypi.org/project/sanic-scheduler/", "platform": "all", "project_url": "https://pypi.org/project/sanic-scheduler/", "project_urls": { "Homepage": "https://github.com/asmodius/sanic-scheduler" }, "release_url": "https://pypi.org/project/sanic-scheduler/1.0.7/", "requires_dist": null, "requires_python": "", "summary": "Running functions on a schedule for Sanic", "version": "1.0.7" }, "last_serial": 4434839, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "6ce0a048ac2492ab8bf5118293672e7c", "sha256": "e7153f1ab281b87a18d1e2fcf07ed3b903ccc13900bbd8089c9c5cc2f5d1d212" }, "downloads": -1, "filename": "sanic-scheduler-1.0.1.tar.gz", "has_sig": false, "md5_digest": "6ce0a048ac2492ab8bf5118293672e7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2938, "upload_time": "2018-07-13T13:33:00", "url": "https://files.pythonhosted.org/packages/69/30/8a988465cbf8742d5b31debf20e551017b0912e3d99fc95c740b74f4f1ba/sanic-scheduler-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "c5efbebf54d48d957cedd7ddcc335c46", "sha256": "903feaf6fd7e6b27b4262561ebf9188c29896acbca985f06820cd6fdd080183e" }, "downloads": -1, "filename": "sanic-scheduler-1.0.2.tar.gz", "has_sig": false, "md5_digest": "c5efbebf54d48d957cedd7ddcc335c46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3087, "upload_time": "2018-07-13T14:08:53", "url": "https://files.pythonhosted.org/packages/2b/07/34136770643d851b3177e2ed0bb849325fc422e73648ca19aa960f62ec10/sanic-scheduler-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "66b82819efc6a808db73c6a505e29423", "sha256": "c9e6a288e7f108fcf566786ab5df2362eb7beb3f68151c87957653988f5cc590" }, "downloads": -1, "filename": "sanic_scheduler-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66b82819efc6a808db73c6a505e29423", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2829, "upload_time": "2018-07-13T14:52:01", "url": "https://files.pythonhosted.org/packages/92/ea/8ecaa8d15e7f80f4bf1786b6430a701c48aa215c20b199c3e58b6020fc05/sanic_scheduler-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a8531b26a951baa93ecf4add54bcb53f", "sha256": "4f0c0cb1ebdcba8cd4dd354fb1c60537636d00577d75aec1d7c0ed242fecb9f2" }, "downloads": -1, "filename": "sanic_scheduler-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a8531b26a951baa93ecf4add54bcb53f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2825, "upload_time": "2018-07-13T14:38:02", "url": "https://files.pythonhosted.org/packages/a0/31/2bdd280c198ff073bcd340d5fefc099146217850a8fe15d11e2272f839a2/sanic_scheduler-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4433224bf5e9e524f5331dbffaae0cb3", "sha256": "9a19815e9fadee70ae93b4275daf6abf3fc05a31af46ef4080fc34d1941cf8fc" }, "downloads": -1, "filename": "sanic-scheduler-1.0.3.tar.gz", "has_sig": false, "md5_digest": "4433224bf5e9e524f5331dbffaae0cb3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3148, "upload_time": "2018-07-13T14:38:03", "url": "https://files.pythonhosted.org/packages/71/e1/17dfdf7da0678ec00503f70c8028d36cba67edcf9b997711c94e313dae2e/sanic-scheduler-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "683570dd1de547d0672185b67df46a22", "sha256": "91ef0fb5bb83d264ebeb30cb83ff6bcc95f4e518bdf67d994414c3f28b1a50d7" }, "downloads": -1, "filename": "sanic_scheduler-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "683570dd1de547d0672185b67df46a22", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2887, "upload_time": "2018-07-17T13:31:09", "url": "https://files.pythonhosted.org/packages/e2/ad/1db30c5397f49f949fe3dd5a26b3072ad292755d8f2f75a4b3fac6d9ca9b/sanic_scheduler-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3de6f7d4308be24a89d2848a70db5ec9", "sha256": "35b4ac1ca09c38ee2618c8038b084167bff77df5e08c3f6167b52959faf5988f" }, "downloads": -1, "filename": "sanic-scheduler-1.0.4.tar.gz", "has_sig": false, "md5_digest": "3de6f7d4308be24a89d2848a70db5ec9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3214, "upload_time": "2018-07-17T13:31:32", "url": "https://files.pythonhosted.org/packages/e4/86/0a34190639841433b23c49a6da86d242010f67c12b0de4ea2a8a0551e8aa/sanic-scheduler-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "adea7d68c82fcd4608545bd68a1b9bdf", "sha256": "232b593dca8491204737afe76be7ef29484bc151e891d074824aa5e0cd0051d6" }, "downloads": -1, "filename": "sanic_scheduler-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "adea7d68c82fcd4608545bd68a1b9bdf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2989, "upload_time": "2018-07-17T16:56:07", "url": "https://files.pythonhosted.org/packages/58/eb/01a7cc20a0b158cc138a5db6ed635e7f554049d14980be5cb87ada07c863/sanic_scheduler-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83881a8ca8c5eb691dde0dd911954790", "sha256": "bb6b3831825a62c2b9d55434e965c17c50b1cb5661fe1b721b09be1c3381829b" }, "downloads": -1, "filename": "sanic-scheduler-1.0.5.tar.gz", "has_sig": false, "md5_digest": "83881a8ca8c5eb691dde0dd911954790", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3164, "upload_time": "2018-07-17T16:56:08", "url": "https://files.pythonhosted.org/packages/61/fc/c765c41e720ae605d2541e4602ba069a1296b2340e05cb82b8bd1829ce4f/sanic-scheduler-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "d8ec03ca414b8444a327cca1a4cefdba", "sha256": "6b6b05c737745d5f8c56a549ee9ec42d5c6de91bf4b0b460bb4a0b59e61e0896" }, "downloads": -1, "filename": "sanic_scheduler-1.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "d8ec03ca414b8444a327cca1a4cefdba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3046, "upload_time": "2018-10-10T16:06:13", "url": "https://files.pythonhosted.org/packages/70/8c/b93d3d942ba89df6bf818b7194a65bd97a9615de499768e35db8d3a09f26/sanic_scheduler-1.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9f4a33ea30b3b701f621d42b2ad95b", "sha256": "c3bd6b632fe72add9ad31eaf5707e9463808a7564405771c300f3bf331f3e808" }, "downloads": -1, "filename": "sanic-scheduler-1.0.6.tar.gz", "has_sig": false, "md5_digest": "1f9f4a33ea30b3b701f621d42b2ad95b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3180, "upload_time": "2018-10-10T16:06:14", "url": "https://files.pythonhosted.org/packages/1a/b8/ec1fadbde50f6c902e1d0169ca5b58210d818aecce9e0a94ea67d9294a40/sanic-scheduler-1.0.6.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "f879b3020d765b49b7fde18f2a7f0a2c", "sha256": "416cfd7ea3b53338c8a3a0011b0a9f8127f81eb3acebb038b1bee96c12346e77" }, "downloads": -1, "filename": "sanic_scheduler-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f879b3020d765b49b7fde18f2a7f0a2c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 3435, "upload_time": "2018-10-31T07:38:28", "url": "https://files.pythonhosted.org/packages/8d/cf/7829255feb914da028eefa42581c357f2559ad1c808d33809470340d5edc/sanic_scheduler-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60f8f1a5d70a746ea2d80437d54fe803", "sha256": "46dad9a43ba745bda47eb8bf45f92eb60906010e1877b60d1652e99914bd3ed1" }, "downloads": -1, "filename": "sanic-scheduler-1.0.7.tar.gz", "has_sig": false, "md5_digest": "60f8f1a5d70a746ea2d80437d54fe803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3394, "upload_time": "2018-10-31T07:38:25", "url": "https://files.pythonhosted.org/packages/21/6e/b31af4ff1375906a78b80b1ac170ff40d87ed6e353bf55b975c804948187/sanic-scheduler-1.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f879b3020d765b49b7fde18f2a7f0a2c", "sha256": "416cfd7ea3b53338c8a3a0011b0a9f8127f81eb3acebb038b1bee96c12346e77" }, "downloads": -1, "filename": "sanic_scheduler-1.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f879b3020d765b49b7fde18f2a7f0a2c", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 3435, "upload_time": "2018-10-31T07:38:28", "url": "https://files.pythonhosted.org/packages/8d/cf/7829255feb914da028eefa42581c357f2559ad1c808d33809470340d5edc/sanic_scheduler-1.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60f8f1a5d70a746ea2d80437d54fe803", "sha256": "46dad9a43ba745bda47eb8bf45f92eb60906010e1877b60d1652e99914bd3ed1" }, "downloads": -1, "filename": "sanic-scheduler-1.0.7.tar.gz", "has_sig": false, "md5_digest": "60f8f1a5d70a746ea2d80437d54fe803", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3394, "upload_time": "2018-10-31T07:38:25", "url": "https://files.pythonhosted.org/packages/21/6e/b31af4ff1375906a78b80b1ac170ff40d87ed6e353bf55b975c804948187/sanic-scheduler-1.0.7.tar.gz" } ] }