django-celery - Celery Integration for Django
|Keywords:||celery, task queue, job queue, asynchronous, rabbitmq, amqp, redis, python, django, webhooks, queue, distributed|
django-celery provides Celery integration for Django; Using the Django ORM
and cache backend for storing results, autodiscovery of task modules
for applications listed in
INSTALLED_APPS, and more.
Celery is a task queue/job queue 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. Tasks can execute asynchronously (in the background) or synchronously (wait until ready).
Celery is already used in production 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.
django-celery for your project you need to add
INSTALLED_APPS += ("djcelery", )
then add the following lines to your
import djcelery djcelery.setup_loader()
Everything works the same as described in the Celery User Manual, except you
need to invoke the programs through
The other main difference is that configuration values are stored in
your Django projects'
settings.py module rather than in
If you're trying celery for the first time you should start by reading Getting started with django-celery
If you're using
mod_wsgi to deploy your Django application you need to
include the following in your
import os os.environ["CELERY_LOADER"] = "django"
You can install
django-celery either via the Python Package Index (PyPI)
or from source.
To install using
$ pip install django-celery
To install using
$ easy_install django-celery
You will then want to create the necessary tables. If you are using south for schema migrations, you'll want to:
$ python manage.py migrate djcelery
For those who are not using south, a normal
syncdb will work:
$ python manage.py syncdb
Download the latest version of
You can install it by doing the following,:
$ tar xvfz django-celery-0.0.0.tar.gz $ cd django-celery-0.0.0 $ python setup.py build # python setup.py install # as root
You can clone the git repository by doing the following:
$ git clone git://github.com/ask/django-celery.git
For discussions about the usage, development, and future of celery, please join the celery-users mailing list.
Come chat with us on IRC. The #celery channel is located at the Freenode network.
If you have any suggestions, bug reports or annoyances please report them to our issue tracker at http://github.com/ask/django-celery/issues/
django-celery happens at Github:
You are highly encouraged to participate in the development
celery. If you don't like Github (for some reason) you're welcome
to send regular patches.
This software is licensed under the
New BSD License. See the
file in the top distribution directory for the full license text.