我正在运行Django 1.8+芹菜4.0.2
芹菜配置良好,可以在redis后端本地运行我的Django任务。
但是当我尝试使用CELERY_ALWAYS_EAGER = True
设置时,
此设置无效。这与其他设置不同,例如CELERY_TIMEZONE
具体来说,在pdb
中,我看到app.conf.task_always_eager
是False
lib/python2.7/site-packages/celery/app/task.py(520)apply_async() So somehow CELERY_ALWAYS_EAGER is not picked up and has no effect on app.conf.task_always_eager
来自pdb的更多信息:
> app.conf.get('CELERY_ALWAYS_EAGER')
> True
> app.conf.task_always_eager
> False
是什么原因造成的?我知道芹菜4.x正在从旧的设置名称过渡到新的设置名称,但他们仍然承诺旧的设置名称仍然会被使用。
CELERY_ALWAYS_EAGER
已在版本4.0+中重命名为CELERY_TASK_ALWAYS_EAGER
。更准确地说,为了直接配置芹菜应用程序对象,所有的caps设置都被弃用,并且有几个已经被命名为使用
task_
或worker_
作为前缀。因为“所有大写字母”设置仍然具有向后兼容性,所以这也间接重命名了“所有大写字母”设置。从changelog:
请在settings.py中设置芹菜ALWAYS_EAGER=True后重新启动芹菜工人,并查看是否有帮助。
相关问题 更多 >
编程相关推荐