4.1.0 / July 24, 2017
The execution units, called tasks, are executed concurrently on one or more worker nodes using multiprocessing, eventlet or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready). Celery is used in production systems, for instance Instagram, to process millions of tasks every day.
Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks. There is also a Ruby-Client called RCelery, a PHP client, and a Node.js client.
The recommended message broker is RabbitMQ, or Redis. Additionally, MongoDB, Beanstalk,[i][ii] Amazon SQS, CouchDB, IronMQ, and databases (using SQLAlchemy or the Django ORM) are supported in status experimental.
- Advanced Message Queuing Protocol
- Python Remote Objects
- Celery: Distributed Task Queue
- "HTTP Callback Tasks (Webhooks) — Celery 3.1.23 documentation". docs.celeryproject.org. Retrieved 2016-08-17.
- "leapfrogonline/rcelery". GitHub. Retrieved 2016-08-17.
- "gjedeer/celery-php". GitHub. Retrieved 2016-08-17.
- "mher/node-celery". GitHub. Retrieved 2016-08-17.
- "Brokers — Celery 3.1.23 documentation". docs.celeryproject.org. Retrieved 2016-08-17.
|This free-software-related article is a stub. You can help Wikipedia by expanding it.|