based on distributed message passing. It is focused on real-time operation, but supports scheduling as well. The execution units, called tasks, are executed concurrently on a single or more worker servers 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 a day. Celery is written in Python, but the protocol can be implemented in any language. It can also operate with other languages using webhooks. The recommended message broker is RabbitMQ, but limited support for Redis, Beanstalk, MongoDB, CouchDB, and databases (using SQLAlchemy or the Django ORM) is also available. Celery is easy to integrate with Django, Pylons and Flask, using the django-celery, celery-pylons and Flask-Celery add-on packages. Example This is a simple task adding two numbers: Celery 2.2 released! By @asksol on 2011-02-01. A great number of new features, including Jython, eventlet and gevent support. Everything is detailed in the Changelog, which you should have read before upgrading. Users of Django must also upgrade to django-celery 2.2. This release would not have been possible without the help of contributors and users, so thank you, and congratulations! Celery 2.1.1 bugfix release By @asksol on 2010-10-14. All users are urged to upgrade. For a list of changes see the Changelog. Users of Django must also upgrade to django-celery 2.1.1. Background Processing Background Processing Distributed Distributed Asynchronous/Synchronous Asynchronous/Synchronous Concurrency Concurrency Periodic Tasks Periodic Tasks Retries Retries Home Code Documentation Community Download