【发布时间】:2018-08-23 19:32:13
【问题描述】:
一个 celery 任务定义如下:
from celery.decorators import task
@task(name="send_email")
def send_email(email, host):
这样调用时,Django 卡住了:
send_email.delay(email, host)
就像它不是异步运行一样,
我错过了什么?
这些是一些 celery 设置,它使用 redis 作为代理:
>>> settings.CELERY_ACCEPT_CONTENT
[u'application/json']
>>> settings.CELERY_BROKER_URL
u'redis://redis:6379/0'
>>> settings.CELERY_RESULT_BACKEND
u'redis://redis:6379/0'
>>> settings.CELERY_RESULT_SERIALIZER
u'json'
>>>
【问题讨论】:
-
你能展示你定义你的芹菜应用程序的文件吗?正如docs 所建议的那样,该任务可能与特定应用程序无关
-
当我运行 celery 时,我看到任务已注册,如下所示: celeryworker_1 | . website.tasks.send_email,所以应该是关联的