2014 年 4 月编辑:
Celery 文档已更新为 3.1;以下解决方案现已过时,请参阅:
http://docs.celeryproject.org/en/master/django/first-steps-with-django.html http://docs.celeryproject.org/en/master/django/first-steps-with-django.html
默认情况下,celery 搜索名为的模块celery.py
找到它的配置。您可以让 celery 使用与以下名称不同的名称celery.py
通过指定它在应用程序参数上 http://docs.celeryproject.org/en/latest/getting-started/next-steps.html#about-the-app-argument- 在此示例中,我们将在以下位置查找 celery 配置settings.py
:
python manage.py celery worker --app=myapp.settings
使用时django-celery
您可以使用上面的调用来启动 celery,或者像我最初那样创建一个celery.py
在我的应用程序包中myapp
:
from settings import celery
我的姜戈settings.py
包含正常的 celery 配置:
from celery import Celery
celery = Celery(broker="amqp://guest:[email protected] /cdn-cgi/l/email-protection: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