{ "info": { "author": "Roman Imankulov", "author_email": "roman.imankulov@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python" ], "description": "Celery API discovery module\n---------------------------\n\nGiven the celery instance, it inspects all available celery workers to get\nthe information about the queues they serve and tasks they know about.\n\nThen it creates a chain of attributes allowing to execute any task as\n``queue_name.full_task_name.delay``.\n\nWith help of this class you can turn your Celery installation to a set of\nindependent modules, each of which \"exposes\" its own \"Celery API\".\n\nTo make it more clear, the analogy with a random HTTP-based API available\nat http://example.com/users/get?email=john@example.com can be like:\n\n- Celery object (including broker URL, result backend settings, etc) is the\n analogue of the protocol (http://)\n- Queue name is the analogue of the hostname (example.com)\n- Task name is the analogue of the URL path (/users/get)\n- Task parameters the the analogue the querystring (?email=john@example.com)\n\n\nUsage example.\n\nIf we have a Celery installation with two queues:\n\"download\" (knows how to execute \"downloader.download_url\" task) and\n\"parse\" (knows how to execute \"parser.parse_html\"), we can instantiate\nAPI and work with it the following way:\n\n\n.. code-block:: python\n\n >>> api = celery_api.CeleryApi(celery)\n >>> html_page = api.download.downloader.download_html.delay('http://example.com').get()\n >>> html_tree = api.parse.parser.parse_html.delay(html_page).get()\n\n.. note::\n Ensure that workers are up and available from clients for inspection.\n You may re-discover your installation after object creation by executing\n ``api._discover()``.", "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/imankulov/celery-api", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "celery-api", "package_url": "https://pypi.org/project/celery-api/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/celery-api/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/imankulov/celery-api" }, "release_url": "https://pypi.org/project/celery-api/0.1/", "requires_dist": null, "requires_python": null, "summary": "Celery API discovery module", "version": "0.1" }, "last_serial": 740580, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "b43462acdc1ec0d55e507cc99823b320", "sha256": "7a1a43d54e0f4c2dce751e00fec170bcc66c566ab1455a07b299bc3abccb2b3c" }, "downloads": -1, "filename": "celery-api-0.1.tar.gz", "has_sig": false, "md5_digest": "b43462acdc1ec0d55e507cc99823b320", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2645, "upload_time": "2013-02-17T18:01:17", "url": "https://files.pythonhosted.org/packages/86/3e/ade3fe01e8a752dae0b74f0cbfff075e5c33556f886e53def0b682235c9d/celery-api-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b43462acdc1ec0d55e507cc99823b320", "sha256": "7a1a43d54e0f4c2dce751e00fec170bcc66c566ab1455a07b299bc3abccb2b3c" }, "downloads": -1, "filename": "celery-api-0.1.tar.gz", "has_sig": false, "md5_digest": "b43462acdc1ec0d55e507cc99823b320", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2645, "upload_time": "2013-02-17T18:01:17", "url": "https://files.pythonhosted.org/packages/86/3e/ade3fe01e8a752dae0b74f0cbfff075e5c33556f886e53def0b682235c9d/celery-api-0.1.tar.gz" } ] }