{ "info": { "author": "Mher Movsisyan", "author_email": "mher.movsisyan@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: Implementation :: CPython", "Topic :: System :: Distributed Computing" ], "description": "Celery integration with Tornado\n===============================\n\n.. image:: https://img.shields.io/pypi/v/tornado-celery.svg\n :target: https://pypi.python.org/pypi/tornado-celery\n\n.. image:: https://img.shields.io/pypi/dm/tornado-celery.svg\n :target: https://pypi.python.org/pypi/tornado-celery\n\ntornado-celery is a non-blocking Celery client for Tornado web framework\n\nUsage\n-----\n\nCalling Celery tasks from Tornado RequestHandler: ::\n\n from tornado import gen, web\n import tcelery, tasks\n\n tcelery.setup_nonblocking_producer()\n\n class AsyncHandler(web.RequestHandler):\n @asynchronous\n def get(self):\n tasks.echo.apply_async(args=['Hello world!'], callback=self.on_result)\n\n def on_result(self, response):\n self.write(str(response.result))\n self.finish()\n\nCalling tasks with generator-based interface: ::\n\n class GenAsyncHandler(web.RequestHandler):\n @asynchronous\n @gen.coroutine\n def get(self):\n response = yield gen.Task(tasks.sleep.apply_async, args=[3])\n self.write(str(response.result))\n self.finish()\n\n**NOTE:** Currently callbacks only work with AMQP and Redis backends.\nTo use the Redis backend, you must install `tornado-redis\n`_.\n\ntornado-celery can be launched as a web server: ::\n\n $ cd tornado-celery\n $ python -m tcelery --port=8888 --app=examples.tasks --address=0.0.0.0\n\nExecute a task asynchronously: ::\n\n $ curl -X POST -d '{\"args\":[\"hello\"]}' http://localhost:8888/apply-async/examples.tasks.echo/\n {\"task-id\": \"a24c9e38-4976-426a-83d6-6b10b4de7ab1\", \"state\": \"PENDING\"}\n\nGet the result: ::\n\n $ curl http://localhost:8888/tasks/result/a24c9e38-4976-426a-83d6-6b10b4de7ab1/\n {\"task-id\": \"a24c9e38-4976-426a-83d6-6b10b4de7ab1\", \"state\": \"SUCCESS\", \"result\": \"hello\"}\n\nExecute a task and get the result: ::\n\n $ curl -X POST -d '{\"args\":[1,2]}' http://localhost:8888/apply/examples.tasks.add/\n {\"task-id\": \"fe3cc5a5-d11b-4b17-a6e2-e7fd2fba7ec6\", \"state\": \"SUCCESS\", \"result\": 3}\n\nExecute a task with timeout: ::\n\n $ curl -X POST -d '{\"args\":[5],\"timeout\":1}' http://localhost:8888/apply/examples.tasks.sleep/\n {\"task-id\": \"9ca78e26-bbb2-404c-b3bb-bc1c63cbdf41\", \"state\": \"REVOKED\"}\n\nInstallation\n------------\n\nTo install, simply: ::\n\n $ pip install tornado-celery\n\nDocumentation\n-------------\n\nDocumentation is available at `Read the Docs`_\n\n.. _Read the Docs: http://tornado-celery.readthedocs.org\n\n\nRunning the Tests\n-----------------\n\nTo run the tests for the AMQP backend: ::\n\n $ python examples/tasks.py worker\n $ cd examples && python -m tcelery -A tasks\n $ python tests/functests.py\n\nTo run the tests for the Redis backend, first make sure redis is running, then: ::\n\n $ CELERY_RESULT_BACKEND=redis:// python examples/tasks.py worker\n $ cd examples && CELERY_RESULT_BACKEND=redis:// python -m tcelery -A tasks\n $ python tests/functests.py", "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/mher/tornado-celery", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "tornado-celery", "package_url": "https://pypi.org/project/tornado-celery/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tornado-celery/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mher/tornado-celery" }, "release_url": "https://pypi.org/project/tornado-celery/0.3.5/", "requires_dist": null, "requires_python": null, "summary": "Celery integration with Tornado", "version": "0.3.5" }, "last_serial": 1661003, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "6cb298907e2df6164e8530b61b50ad5a", "sha256": "e0a23b0d5f247ae4aa1cbb8ae9e8b24b3d71c6d2441f440224baee7a15282a8a" }, "downloads": -1, "filename": "tornado-celery-0.2.0.tar.gz", "has_sig": false, "md5_digest": "6cb298907e2df6164e8530b61b50ad5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8295, "upload_time": "2013-04-23T15:54:46", "url": "https://files.pythonhosted.org/packages/62/fe/eb4bce256dd95812f01943a52d514666ee0d86f7da925dfdbad8b159466e/tornado-celery-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "0ba73600b18a4f9b80f6f0bb81f34d4c", "sha256": "00075d064d10c88c772b7d584c256f22f3f4e4ffb9d48ba632c3040bcb67fb94" }, "downloads": -1, "filename": "tornado-celery-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0ba73600b18a4f9b80f6f0bb81f34d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8523, "upload_time": "2013-04-23T16:08:15", "url": "https://files.pythonhosted.org/packages/f9/7c/a4c58a672e32d6bbfbf1dc15dfdbe97a266eea5e327fa3eeaaa2dd6bbcc0/tornado-celery-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "31eb5bfdaf356c1b63f25fc48e18647c", "sha256": "5c1b3b63414ab47eb93b1142e22b70d1bea991cdd08f45e3da5a1b74a088b907" }, "downloads": -1, "filename": "tornado-celery-0.3.0.tar.gz", "has_sig": false, "md5_digest": "31eb5bfdaf356c1b63f25fc48e18647c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9287, "upload_time": "2013-08-08T09:54:23", "url": "https://files.pythonhosted.org/packages/77/6e/a72a8e6e8e353f3af6652d28d2f7f2ab07ee4a9b5d8063e8cf95b36d529d/tornado-celery-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ad3a9bbf210eef0c9b0b040bb7052014", "sha256": "a66f1f3bf9e46e836167499d102bb9527e623840aa381de0d763ee092674983c" }, "downloads": -1, "filename": "tornado-celery-0.3.1.tar.gz", "has_sig": false, "md5_digest": "ad3a9bbf210eef0c9b0b040bb7052014", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9511, "upload_time": "2013-12-29T18:44:06", "url": "https://files.pythonhosted.org/packages/01/ce/d47c007f165cc13ae8e8203807494d30ccd5e4e5494e6f9bdd513c3108b4/tornado-celery-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "f3a4f1e51c32dad8372eadc546de2d40", "sha256": "de19d1a14adaaa3450fdc939eb08c1d42a27934b841fe7ed17f72c78a524e0a9" }, "downloads": -1, "filename": "tornado-celery-0.3.2.tar.gz", "has_sig": false, "md5_digest": "f3a4f1e51c32dad8372eadc546de2d40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9551, "upload_time": "2014-03-24T11:37:05", "url": "https://files.pythonhosted.org/packages/8a/47/548935c82ad85e766b7e4bb0980b852180fe37bc4a62c18145c049f91b85/tornado-celery-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "b54b27d200c82cf9fa86465becef8ca3", "sha256": "0531506e50a9107904b926ac9fab5a6a6bac7e87ab8a6b21b9630ec623e2b614" }, "downloads": -1, "filename": "tornado-celery-0.3.3.tar.gz", "has_sig": false, "md5_digest": "b54b27d200c82cf9fa86465becef8ca3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9644, "upload_time": "2014-07-05T07:03:22", "url": "https://files.pythonhosted.org/packages/ca/77/aac522dfe5f64e395029b29639488684caa05daee9fb3b36636110bbc119/tornado-celery-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "baa183128f58b991084735003cc5961b", "sha256": "9bab73eb1cb187f986498739aa898a38df4b0c2925f9e642c9a459b1b2d9d50e" }, "downloads": -1, "filename": "tornado-celery-0.3.4.tar.gz", "has_sig": false, "md5_digest": "baa183128f58b991084735003cc5961b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9687, "upload_time": "2014-07-12T21:27:19", "url": "https://files.pythonhosted.org/packages/d2/80/0968d1bd50975991adb8c6ae45d0b25bece6ffba48a869a97150b0b38746/tornado-celery-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "169d7f2c76d9fe3fd91de43808dea54d", "sha256": "57cd702c41f9c7cc80eb61329cd206812e076e6919bfeae078e1a51c053ad509" }, "downloads": -1, "filename": "tornado-celery-0.3.5.tar.gz", "has_sig": false, "md5_digest": "169d7f2c76d9fe3fd91de43808dea54d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11512, "upload_time": "2015-08-02T19:54:48", "url": "https://files.pythonhosted.org/packages/6a/9d/73b12e9fbdb48ad139ca96eb7470b027a63c1deb9a2173e0fb4fce4c77e8/tornado-celery-0.3.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "169d7f2c76d9fe3fd91de43808dea54d", "sha256": "57cd702c41f9c7cc80eb61329cd206812e076e6919bfeae078e1a51c053ad509" }, "downloads": -1, "filename": "tornado-celery-0.3.5.tar.gz", "has_sig": false, "md5_digest": "169d7f2c76d9fe3fd91de43808dea54d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11512, "upload_time": "2015-08-02T19:54:48", "url": "https://files.pythonhosted.org/packages/6a/9d/73b12e9fbdb48ad139ca96eb7470b027a63c1deb9a2173e0fb4fce4c77e8/tornado-celery-0.3.5.tar.gz" } ] }