2014 年 4 月编辑:
Celery 文档已更新为 3.1;以下解决方案现已过时,请参阅:
http://docs.celeryproject.org/en/master/django/first-steps-with-django.html
默认情况下,celery 会搜索一个名为的模块celery.py
来查找其配置。您可以让 celery 使用不同的名称,而不是在 app 参数celery.py
中指定它- 在本例中,我们将在以下位置查找 celery 配置:settings.py
python manage.py celery worker --app=myapp.settings
使用时,django-celery
您可以使用上面的调用来启动 celery,或者像我最初做的那样celery.py
在我的应用程序包中创建一个myapp
:
from settings import celery
我的 Djangosettings.py
包含正常的 celery 配置:
from celery import Celery
celery = Celery(broker="amqp://guest:guest@127.0.0.1:5672//")
celery.conf.update(
CELERY_DEFAULT_QUEUE = "myapp",
CELERY_DEFAULT_EXCHANGE = "myapp",
CELERY_DEFAULT_EXCHANGE_TYPE = "direct",
CELERY_DEFAULT_ROUTING_KEY = "myapp",
)
然后像这样运行 celery worker:
python manage.py celery worker --app=myapp
为了清楚起见,这是我的完整应用程序结构:
myproject/
manage.py
myapp/
__init__.py
settings.py
celery.py