芹菜没有选择CELERY_ALWAYS_EAGER设置

Ale*_*exA 10 python django celery

我正在运行Django 1.8 + Celery 4.0.2 Celery配置得很好,可以在redis后端本地运行我的Django任务.但是当我尝试使用CELERY_ALWAYS_EAGER = True设置时,此设置无效.其他设置不是这种情况,例如CELERY_TIMEZONE

具体来说,在pdb我看来app.conf.task_always_eagerFalse

lib/python2.7/site-packages/celery/app/task.py(520)apply_async()所以CELERY_ALWAYS_EAGER不会被拾取并且对app.conf.task_always_eager没有影响

来自pdb的更多信息:

> app.conf.get('CELERY_ALWAYS_EAGER')
> True
> app.conf.task_always_eager
> False
Run Code Online (Sandbox Code Playgroud)

是什么导致这个?我知道Celery 4.x正在从旧设置名称转换为新设置名称,但他们仍然承诺仍旧使用旧设置名称.

GDo*_*orn 21

CELERY_ALWAYS_EAGERCELERY_TASK_ALWAYS_EAGER在4.0+版本中重命名为.

更准确地说,全部大写设置已被弃用,有利于直接配置芹菜应用程序对象,有些已被命名为使用task_worker_作为前缀.由于全部大写设置仍具有向后兼容性,因此间接重命名为全大写设置.

来自更改日志:

celery_前缀也已被删除,此名称空间中与任务相关的设置现在以task_,与worker_相关的工作人员相关设置为前缀.