Given the celery instance, it inspects all available celery workers to get the information about the queues they serve and tasks they know about.
Then it creates a chain of attributes allowing to execute any task as queue_name.full_task_name.delay.
With help of this class you can turn your Celery installation to a set of independent modules, each of which “exposes” its own “Celery API”.
To make it more clear, the analogy with a random HTTP-based API available at http://example.com/users/get?email=john@example.com can be like:
Celery object (including broker URL, result backend settings, etc) is the analogue of the protocol (http://)
Queue name is the analogue of the hostname (example.com)
Task name is the analogue of the URL path (/users/get)
Task parameters the the analogue the querystring (?email=john@example.com)
Usage example.
If we have a Celery installation with two queues: “download” (knows how to execute “downloader.download_url” task) and “parse” (knows how to execute “parser.parse_html”), we can instantiate API and work with it the following way:
>>> api = celery_api.CeleryApi(celery)
>>> html_page = api.download.downloader.download_html.delay('http://example.com').get()
>>> html_tree = api.parse.parser.parse_html.delay(html_page).get()
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file celery-api-0.1.tar.gz.
File metadata
- Download URL: celery-api-0.1.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a1a43d54e0f4c2dce751e00fec170bcc66c566ab1455a07b299bc3abccb2b3c
|
|
| MD5 |
b43462acdc1ec0d55e507cc99823b320
|
|
| BLAKE2b-256 |
863eade3fe01e8a752dae0b74f0cbfff075e5c33556f886e53def0b682235c9d
|