{ "info": { "author": "Andrew Svetlov", "author_email": "andrew.svetlov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: AsyncIO", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development" ], "description": "=======\naiojobs\n=======\n.. image:: https://travis-ci.org/aio-libs/aiojobs.svg?branch=master\n :target: https://travis-ci.org/aio-libs/aiojobs\n.. image:: https://codecov.io/gh/aio-libs/aiojobs/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/aio-libs/aiojobs\n.. image:: https://img.shields.io/pypi/v/aiojobs.svg\n :target: https://pypi.python.org/pypi/aiojobs\n.. image:: https://readthedocs.org/projects/aiojobs/badge/?version=latest\n :target: http://aiojobs.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. image:: https://badges.gitter.im/Join%20Chat.svg\n :target: https://gitter.im/aio-libs/Lobby\n :alt: Chat on Gitter\n\nJobs scheduler for managing background task (asyncio)\n\n\nThe library gives controlled way for scheduling background tasks for\nasyncio applications.\n\nInstallation\n============\n\n.. code-block:: bash\n\n $ pip3 install aiojobs\n\nUsage example\n=============\n\n.. code-block:: python\n\n import asyncio\n import aiojobs\n\n async def coro(timeout):\n await asyncio.sleep(timeout)\n\n async def main():\n scheduler = await aiojobs.create_scheduler()\n for i in range(100):\n # spawn jobs\n await scheduler.spawn(coro(i/10))\n\n await asyncio.sleep(5.0)\n # not all scheduled jobs are finished at the moment\n\n # gracefully close spawned jobs\n await scheduler.close()\n\n asyncio.get_event_loop().run_until_complete(main())\n\n\nIntegration with aiohttp.web\n============================\n\n.. code-block:: python\n\n from aiohttp import web\n from aiojobs.aiohttp import setup, spawn\n\n async def handler(request):\n await spawn(request, coro())\n return web.Response()\n\n app = web.Application()\n app.router.add_get('/', handler)\n setup(app)\n\nor just\n\n.. code-block:: python\n\n from aiojobs.aiohttp import atomic\n\n @atomic\n async def handler(request):\n return web.Response()\n\nFor more information read documentation: https://aiojobs.readthedocs.io\n\nCommunication channels\n======================\n\n*aio-libs* google group: https://groups.google.com/forum/#!forum/aio-libs\n\nFeel free to post your questions and ideas here.\n\n*Gitter Chat* https://gitter.im/aio-libs/Lobby\n\nWe support `Stack Overflow `_.\nPlease add *python-asyncio* or *aiohttp* tag to your question there.\n\n\nAuthor and License\n==================\n\nThe ``aiojobs`` package is written by Andrew Svetlov.\n\nIt's *Apache 2* licensed and freely available.\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aio-libs/aiojobs", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "aiojobs", "package_url": "https://pypi.org/project/aiojobs/", "platform": "", "project_url": "https://pypi.org/project/aiojobs/", "project_urls": { "Homepage": "https://github.com/aio-libs/aiojobs" }, "release_url": "https://pypi.org/project/aiojobs/0.2.2/", "requires_dist": [ "aiohttp >= 2.3.0" ], "requires_python": ">=3.5", "summary": "Jobs scheduler for managing background task (asyncio).", "version": "0.2.2" }, "last_serial": 4385734, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a0c8290bf9d9cecc3ad144981870261a", "sha256": "e7bdc3b00a8405101e55081b6ff3ff72c7ceb259b65993d009ee58d0e05ad224" }, "downloads": -1, "filename": "aiojobs-0.0.1.tar.gz", "has_sig": false, "md5_digest": "a0c8290bf9d9cecc3ad144981870261a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 3474, "upload_time": "2017-07-01T08:54:44", "url": "https://files.pythonhosted.org/packages/9d/76/a49e6a4fb748e3833ecea79b247e024692336e51c353165ecc67dcdb641b/aiojobs-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "a75d4b46aaaceac34bcae2829f51305c", "sha256": "02eff64c46a83d99fbd5befd1a3448669c57a7c5868b7161e04deb65d30327e2" }, "downloads": -1, "filename": "aiojobs-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a75d4b46aaaceac34bcae2829f51305c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 5108, "upload_time": "2017-07-01T12:20:09", "url": "https://files.pythonhosted.org/packages/5c/48/0009ed94b60c5d924076b58ebc5c9416475b2195f13227690ca3ec0726b2/aiojobs-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6a236f1ac6b30bd9884c19df1574749f", "sha256": "240056af0d6020582b1925d57c0af474981ee9158067ea5812c9c406e9461451" }, "downloads": -1, "filename": "aiojobs-0.0.2.tar.gz", "has_sig": false, "md5_digest": "6a236f1ac6b30bd9884c19df1574749f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 3441, "upload_time": "2017-07-01T12:20:10", "url": "https://files.pythonhosted.org/packages/e2/6d/69b1d07c90e270d2f2fe2a387e1b0c4e2665d272be0b4897a4c75e0852e9/aiojobs-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b0bfbf9b11f92e1b4f5fa6b564d6ccaa", "sha256": "0b22cb6a2b2dd600006374e5aab50c7f6c4633949860f5b9615dff73ee69fcca" }, "downloads": -1, "filename": "aiojobs-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b0bfbf9b11f92e1b4f5fa6b564d6ccaa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 7167, "upload_time": "2017-07-02T15:03:32", "url": "https://files.pythonhosted.org/packages/10/5e/2a30364b697d83c9d5441bab9f873781f1fb6515f74f690baa79f2f19403/aiojobs-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "71f969a485d6e6cf6586a897e25b324b", "sha256": "3f8577b4ba6f70d2c75d90f117034ba09b9b969830246c5c545603c7512bc1d2" }, "downloads": -1, "filename": "aiojobs-0.0.3.tar.gz", "has_sig": false, "md5_digest": "71f969a485d6e6cf6586a897e25b324b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 4723, "upload_time": "2017-07-02T15:03:33", "url": "https://files.pythonhosted.org/packages/ad/68/394843e7cf8012e608e103e7a6ba0107b2be59eb236c9234425786f098ec/aiojobs-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e785f3455d15a95432f0ab130e2a933b", "sha256": "eda63270730971965a01a51eef676127d749a01ffa7d0147cec96dbd9d4e1af8" }, "downloads": -1, "filename": "aiojobs-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e785f3455d15a95432f0ab130e2a933b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5.3", "size": 7762, "upload_time": "2018-01-15T08:40:10", "url": "https://files.pythonhosted.org/packages/d3/6e/b662614043e6ec8ace19525efdb1116c668aee91de5f0ccee9c1486faa2d/aiojobs-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "03be02bb4eb9648ee3c4c0bd37d50629", "sha256": "5c39bb09eea2090f941b836c837701259c4a2f9b630b78a93e2de514f0d5d6c8" }, "downloads": -1, "filename": "aiojobs-0.1.0.tar.gz", "has_sig": false, "md5_digest": "03be02bb4eb9648ee3c4c0bd37d50629", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5.3", "size": 144085, "upload_time": "2018-01-15T08:40:12", "url": "https://files.pythonhosted.org/packages/74/cf/52e17637505b7bdfe450ac28ecd465667d3bffadd22524f626628703f43a/aiojobs-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f53dfb25e3e59e88cedfaa669152c7f4", "sha256": "7070bacbc99fac54ca827632496aa0ddca52fb5864c163b90c2a0d2b6aafb445" }, "downloads": -1, "filename": "aiojobs-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f53dfb25e3e59e88cedfaa669152c7f4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 23719, "upload_time": "2018-03-10T22:24:44", "url": "https://files.pythonhosted.org/packages/9b/45/3adf539e2e9b4e64b3b647264e2b85b52e2dad725e65deffd0f67c9def74/aiojobs-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "22b203c0163036cae8c76e234b49e7a2", "sha256": "765256a7c360fee19f8656de13ffe1e8e00cc45b5fc0ae7b01f7d699a1d9831e" }, "downloads": -1, "filename": "aiojobs-0.2.0.tar.gz", "has_sig": false, "md5_digest": "22b203c0163036cae8c76e234b49e7a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 146629, "upload_time": "2018-03-10T22:24:45", "url": "https://files.pythonhosted.org/packages/58/09/1e3a4d31693856946b0d4da58e8109bdeb0fd6021787b06733b5b60f6f7f/aiojobs-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "3a21a8a1fbf39c467ac539b14bc1d33e", "sha256": "376614b0e3a3b40959d9e5aa4aaf10d206ca1a4cda225d954e7f26e3aa8bb1cb" }, "downloads": -1, "filename": "aiojobs-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3a21a8a1fbf39c467ac539b14bc1d33e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24633, "upload_time": "2018-03-10T22:39:14", "url": "https://files.pythonhosted.org/packages/be/13/094ede59226a19462c50ab90f1135a36e1bbc52a5346475059cee884711d/aiojobs-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b20e29c7da3dbf62de98853e9b3fde06", "sha256": "b93064d26718577ec87f00e010673544b6091486b5b73163942f742db63a100e" }, "downloads": -1, "filename": "aiojobs-0.2.1.tar.gz", "has_sig": false, "md5_digest": "b20e29c7da3dbf62de98853e9b3fde06", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 146665, "upload_time": "2018-03-10T22:39:19", "url": "https://files.pythonhosted.org/packages/4c/5c/d3863e8ee43547d5d7a2f49eeb7e2733fa297cf3712a302d47340064fcb6/aiojobs-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c77df08fde603fc3df7adfb93b90c9ec", "sha256": "bf93b4a8d5a3ade3f85b6edb6efd9703acf60a8c5492b9fc4a6df843dd8decb3" }, "downloads": -1, "filename": "aiojobs-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c77df08fde603fc3df7adfb93b90c9ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24664, "upload_time": "2018-10-17T09:46:08", "url": "https://files.pythonhosted.org/packages/a7/8e/1d41d21e7cd09d744921490be99a9e2cfa498ae1af36b9c3ee0c3395d2c9/aiojobs-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fd929e4ef9bc6560c675a5b11ac6077", "sha256": "8e4b3e3d1bdb970bdaf8f8cd5eb4e4ff3e0e01a4abd22b4f73a87002a5ae4005" }, "downloads": -1, "filename": "aiojobs-0.2.2.tar.gz", "has_sig": false, "md5_digest": "8fd929e4ef9bc6560c675a5b11ac6077", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 136658, "upload_time": "2018-10-17T09:46:09", "url": "https://files.pythonhosted.org/packages/57/c5/9eb091930d6574002d1721dab5ca15a1bd69ed5dc8e654159d27223cdd3b/aiojobs-0.2.2.tar.gz" } ], "0.2.2a0": [ { "comment_text": "", "digests": { "md5": "353a27879dd1d8e30eadb6a68b8ed6ae", "sha256": "80a6ae5ee6515762922ecf0e41b86c271c757515d4b97c903ad3059e2e3fac71" }, "downloads": -1, "filename": "aiojobs-0.2.2a0-py3-none-any.whl", "has_sig": false, "md5_digest": "353a27879dd1d8e30eadb6a68b8ed6ae", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24686, "upload_time": "2018-10-17T08:26:38", "url": "https://files.pythonhosted.org/packages/c5/91/f0949bc8389085ca9dff1c206e7f49777cafe2b51921df68a72101816f09/aiojobs-0.2.2a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f43f4b022b60efc0bd137befbc2c896f", "sha256": "becc34c83ec425c3f24c11a6505d8163605837cf18a1af3191ac8e3dfe13250f" }, "downloads": -1, "filename": "aiojobs-0.2.2a0.tar.gz", "has_sig": false, "md5_digest": "f43f4b022b60efc0bd137befbc2c896f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 136629, "upload_time": "2018-10-17T08:26:39", "url": "https://files.pythonhosted.org/packages/0b/0e/23a3889f1df77a05b63b3bafe125baf3cc35bd42a371bb88bc28aa529d4e/aiojobs-0.2.2a0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c77df08fde603fc3df7adfb93b90c9ec", "sha256": "bf93b4a8d5a3ade3f85b6edb6efd9703acf60a8c5492b9fc4a6df843dd8decb3" }, "downloads": -1, "filename": "aiojobs-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c77df08fde603fc3df7adfb93b90c9ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 24664, "upload_time": "2018-10-17T09:46:08", "url": "https://files.pythonhosted.org/packages/a7/8e/1d41d21e7cd09d744921490be99a9e2cfa498ae1af36b9c3ee0c3395d2c9/aiojobs-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fd929e4ef9bc6560c675a5b11ac6077", "sha256": "8e4b3e3d1bdb970bdaf8f8cd5eb4e4ff3e0e01a4abd22b4f73a87002a5ae4005" }, "downloads": -1, "filename": "aiojobs-0.2.2.tar.gz", "has_sig": false, "md5_digest": "8fd929e4ef9bc6560c675a5b11ac6077", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 136658, "upload_time": "2018-10-17T09:46:09", "url": "https://files.pythonhosted.org/packages/57/c5/9eb091930d6574002d1721dab5ca15a1bd69ed5dc8e654159d27223cdd3b/aiojobs-0.2.2.tar.gz" } ] }