This is the project iself, created using
django-admin.py startproject proj
, and then the settings module
(proj/settings.py
) was modified to add demoapp
to
INSTALLED_APPS
This module contains the Celery application instance for this project,
we take configuration from Django settings and use autodiscover_tasks
to
find task modules inside all packages listed in INSTALLED_APPS
.
Example generic app. This is decoupled from the rest of the project by using
the @shared_task
decorator. This decorator returns a proxy that always
points to the currently active Celery instance.
The settings file assumes that rabbitmq-server
is running on localhost
using the default ports. More information here:
http://docs.celeryproject.org/en/latest/getting-started/brokers/rabbitmq.html
In addition, some Python requirements must also be satisfied:
$ pip install -r requirements.txt
$ celery -A proj worker -l info
$ python ./manage.sh shell
>>> from demoapp.tasks import add, mul, xsum
>>> res = add.delay(2,3)
>>> res.get()
5