Celery Task Queue
Stable release | 3.1.13 / 2014-07-10 |
---|---|
Written in | Python |
Platform | Cross-platform |
Available in | Python |
Type | Message-oriented middleware |
License | BSD License |
Website | http://celeryproject.org/ |
Celery is an open source asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
Overview
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 to process millions of tasks every hour.
Technology
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 RCelery [1] for the Ruby programming language, and a PHP client.[2]
The recommended message broker is RabbitMQ, but support for Redis, MongoDB, Beanstalk, Amazon SQS, CouchDB, IronMQ and databases (using SQLAlchemy or the Django ORM) is also available.
See also
- Advanced Message Queuing Protocol
- Python Remote Objects
References
External links
- http://celeryproject.org/
- https://pypi.python.org/pypi/celery
- https://github.com/celery/
- https://github.com/celery/celery/wiki