{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "Celery Pool AsyncIO\n===============\n\n![Logo](https://repository-images.githubusercontent.com/198568368/35298e00-c1e8-11e9-8bcf-76c57ee28db8)\n\n* Free software: Apache Software License 2.0\n\nFeatures\n--------\n\n\n```\nimport asyncio\nfrom celery import Celery\n\napp = Celery()\n\n\n@app.task(\n bind=True,\n soft_time_limit=None, # temporary unimplemented. You can help me\n time_limit=300, # raises futures.TimeoutError on timeout\n)\nasync def my_task(self, *args, **kwargs):\n await asyncio.sleep(5)\n\n\n@app.task\nasync def my_simple_task(*args, **kwargs):\n await asyncio.sleep(5)\n```\n\nThen run celery:\n\n```\n$ celery worker -A hello_async_celery.app -P celery_pool_asyncio:TaskPool\n```\n\n\n\n# Changelog\n\n## [0.1.9]\n- Large rework of `await AsyncResult.get()`\n - Works much better than earlier, but it's crap still\n - Added outnumber of monkey-patches\n- Fixed race condition on first microseconds of pool shutdown\n\n## [0.1.8]\n- Cleanup tracer, use celery.app.trace namespase where it possible\n\n## [0.1.7]\n- Refactor monkey, split it\n- Move patch_send_task to own function\n- Add patch_result_get to await AsyncResult.get\n\n## [0.1.6]\n- Avoid building trace twice\n- Also this small performance optimization fixed AsyncResult.get\n\n## [0.1.5]\n- Fix graceful shutdown\n\n## [0.1.4]\n- Fix monkey: another function must be patched\n\n## [0.1.3]\n- Add changelog\n- Append documentation\n\n## [0.1.2]\n- Add monkey patcher to make brocker IO operations nonblocking\n\n## [0.1.1]\n- Refactor code\n- Fix found errors\n\n## [0.1.0]\n- Initial commit\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/kai3341/celery-pool-asyncio", "keywords": "celery_pool_asyncio", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "celery-pool-asyncio", "package_url": "https://pypi.org/project/celery-pool-asyncio/", "platform": "", "project_url": "https://pypi.org/project/celery-pool-asyncio/", "project_urls": { "Homepage": "https://github.com/kai3341/celery-pool-asyncio" }, "release_url": "https://pypi.org/project/celery-pool-asyncio/0.1.9/", "requires_dist": [ "asgiref", "celery" ], "requires_python": "", "summary": "Celery pool to run coroutine tasks", "version": "0.1.9" }, "last_serial": 5994585, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "b3c88b1b073ce59b00b126f8d00c9e06", "sha256": "e714d2dde542571a20be90a2f2e711faaac0b40918df50d6a90627707b338d25" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b3c88b1b073ce59b00b126f8d00c9e06", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7365, "upload_time": "2019-08-18T07:54:51", "url": "https://files.pythonhosted.org/packages/3c/6e/7ae237d787be55b06aefcc070689e0272994c872b51eb6fe7ec9a2580e23/celery_pool_asyncio-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f040831f90ae3a1b0742d7a9aa7b2887", "sha256": "67774e832701d52c5d8454d120ba8ead32c6d37328dadb3da0a4b81ae90b4173" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f040831f90ae3a1b0742d7a9aa7b2887", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10560, "upload_time": "2019-08-18T07:54:53", "url": "https://files.pythonhosted.org/packages/87/3a/48ced3133254b80b7c14fb98b06d23e2ceae6b990b055b708c725020bb87/celery-pool-asyncio-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "35d8869713b92393c0bcd5113f5490b7", "sha256": "ef7b918ddf3e206cb5beb09fbc37a8b69889104657c75ad0c01e9984c841b1bf" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "35d8869713b92393c0bcd5113f5490b7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7858, "upload_time": "2019-08-19T11:48:14", "url": "https://files.pythonhosted.org/packages/0f/b9/ca7389be715f04bd1c4a75cce35642661645816ae3dc3741b9a7078e2143/celery_pool_asyncio-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "deef12e512fffa73d6ab60e163abd082", "sha256": "3fc73008ccf0aadb6b1e3031826831cb1407eaedcf8361791736768757d62c05" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.3.tar.gz", "has_sig": false, "md5_digest": "deef12e512fffa73d6ab60e163abd082", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10929, "upload_time": "2019-08-19T11:48:16", "url": "https://files.pythonhosted.org/packages/98/64/fc9cf4170f571647b9610a69ca8f564886c05598d858e9723f5355ff5fe9/celery-pool-asyncio-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "a1b35a67e50aa97f0796c86e1dabecd3", "sha256": "cfe7ba455f0131afef24a3fda3aedf9eabdb9df6229dd40bd63055e6930f5866" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1b35a67e50aa97f0796c86e1dabecd3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7971, "upload_time": "2019-08-30T12:42:33", "url": "https://files.pythonhosted.org/packages/06/8a/247b59db21e5a1be8818057b82718ef0ace0324fc11645f411ec59722294/celery_pool_asyncio-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "07397a27e80b867add0444e254292530", "sha256": "8d5337a42c8ef184d9693aecfd2386e700b71b382e30fc8cdc1d8fa7e0cb6f07" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.4.tar.gz", "has_sig": false, "md5_digest": "07397a27e80b867add0444e254292530", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11098, "upload_time": "2019-08-30T12:42:34", "url": "https://files.pythonhosted.org/packages/bd/e2/3034f72f58d21f51bcb4ca257eb3582d70c742e0bbf222cfd657becb7121/celery-pool-asyncio-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "6e691eb97e0bb3441c1ff7329dfb5f7e", "sha256": "52d4ef4dcaf36ef4f581e75b87788e46b2bfb3ccb867e833ffdfbed16d719016" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e691eb97e0bb3441c1ff7329dfb5f7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8237, "upload_time": "2019-10-01T09:15:58", "url": "https://files.pythonhosted.org/packages/dc/b8/6b8e092f9b262625369c47a9894edf83945ac52da36fd811c22cb51d1f73/celery_pool_asyncio-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "feeb5e30bf042e5fa2e162e48d1b729e", "sha256": "de7ca033798053e06ceeb3d9a66457a1adbb5e569431b08e0d66e0f8f336ebc3" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.5.tar.gz", "has_sig": false, "md5_digest": "feeb5e30bf042e5fa2e162e48d1b729e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11346, "upload_time": "2019-10-01T09:16:00", "url": "https://files.pythonhosted.org/packages/b0/1b/7d4901f756d8335d201fc47b9ebfc4249562474bd8d54c90e537ca9140ed/celery-pool-asyncio-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "bec8ac3d3cadf3b3abe29df02a42d89f", "sha256": "c0f0ba264337afdc93e1bdfc7a6a3720b930e33d4e6a46351e366006155c8fc2" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bec8ac3d3cadf3b3abe29df02a42d89f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8234, "upload_time": "2019-10-02T17:26:32", "url": "https://files.pythonhosted.org/packages/88/68/cc3e3bc3b22c2507f1297cd157a4f876836807650fcb194b6bac586743a3/celery_pool_asyncio-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e84254f893ef04e1fd4fb2f1aa6e3d2d", "sha256": "8e8b1d1f0148926a0ae814fe8381944cd0016501f831f27584949815e8be719e" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e84254f893ef04e1fd4fb2f1aa6e3d2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11350, "upload_time": "2019-10-02T17:26:34", "url": "https://files.pythonhosted.org/packages/90/b3/091b384e292e40cbda2167d402f14e4bd7b4bd0181d4c5929d4f2f9f707e/celery-pool-asyncio-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6dd18085a5bc16767e31c975fdf47dd9", "sha256": "2165f8ef1fee14494523b9035bf3a4b438e254f13eda2b4f912cc458abae352d" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6dd18085a5bc16767e31c975fdf47dd9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8430, "upload_time": "2019-10-03T10:56:42", "url": "https://files.pythonhosted.org/packages/46/0e/c4d3042baa974c230cbc170c763ebba40fb13ada8eb10306a81ba4229584/celery_pool_asyncio-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dbc31f146c97a274a61dbfccd5d7ddaa", "sha256": "20867ed5a0807bef24106b21ea26103420925da7f407732000058503c3c4ee01" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.7.tar.gz", "has_sig": false, "md5_digest": "dbc31f146c97a274a61dbfccd5d7ddaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11516, "upload_time": "2019-10-03T10:56:44", "url": "https://files.pythonhosted.org/packages/88/92/310754eabbd8eb48bb1debb269f6d5ad64194d85d4a7785e552a51717515/celery-pool-asyncio-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "7ff0c326fe26b2618276273923664ecd", "sha256": "640951d0b2bc8a4b17b88d089dcddbea927213f2037d3a9de2aaeaf5a6bbb038" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7ff0c326fe26b2618276273923664ecd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8123, "upload_time": "2019-10-04T11:35:16", "url": "https://files.pythonhosted.org/packages/ff/40/9d7066ba4010370fd60b44a45e658dccb6970d1e9ba87d719b379470c9ad/celery_pool_asyncio-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "856a5f29cf25492e3ba1731a9dc4c267", "sha256": "16b768e56524894614f52ac56914adda50caf8f995dff9ebc7c36565f51ca354" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.8.tar.gz", "has_sig": false, "md5_digest": "856a5f29cf25492e3ba1731a9dc4c267", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11249, "upload_time": "2019-10-04T11:35:17", "url": "https://files.pythonhosted.org/packages/be/a8/3023b44911f3dbbceb57a8038aaabc1d32e31c1feb967f05efed4bd55b13/celery-pool-asyncio-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "f8fe65d14e74c85d67ab341dc6219666", "sha256": "fabac6f566b54f3dc7c0b79fa1ef90af0a6a43d0401927ecaca225bb862faee8" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8fe65d14e74c85d67ab341dc6219666", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11720, "upload_time": "2019-10-18T09:18:55", "url": "https://files.pythonhosted.org/packages/a6/b0/1c46122a403ac0b057f7de5620d7da7006fcea6f3b99d91dca3022d4ee25/celery_pool_asyncio-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ce0485134c5dc5030927a43859eca9d", "sha256": "775d86d1b108308edeb08b0c7663fddcc9e532f749210935c43a480157fa84bd" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.9.tar.gz", "has_sig": false, "md5_digest": "5ce0485134c5dc5030927a43859eca9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14055, "upload_time": "2019-10-18T09:18:57", "url": "https://files.pythonhosted.org/packages/0d/14/060ae69e124b4b9912d2be9124f5c23ed2a64f78c169cefc1950c366d79d/celery-pool-asyncio-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f8fe65d14e74c85d67ab341dc6219666", "sha256": "fabac6f566b54f3dc7c0b79fa1ef90af0a6a43d0401927ecaca225bb862faee8" }, "downloads": -1, "filename": "celery_pool_asyncio-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8fe65d14e74c85d67ab341dc6219666", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11720, "upload_time": "2019-10-18T09:18:55", "url": "https://files.pythonhosted.org/packages/a6/b0/1c46122a403ac0b057f7de5620d7da7006fcea6f3b99d91dca3022d4ee25/celery_pool_asyncio-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ce0485134c5dc5030927a43859eca9d", "sha256": "775d86d1b108308edeb08b0c7663fddcc9e532f749210935c43a480157fa84bd" }, "downloads": -1, "filename": "celery-pool-asyncio-0.1.9.tar.gz", "has_sig": false, "md5_digest": "5ce0485134c5dc5030927a43859eca9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14055, "upload_time": "2019-10-18T09:18:57", "url": "https://files.pythonhosted.org/packages/0d/14/060ae69e124b4b9912d2be9124f5c23ed2a64f78c169cefc1950c366d79d/celery-pool-asyncio-0.1.9.tar.gz" } ] }