CELERY_ROUTES 应该是 CELERY_TASK_ROUTES
http://docs.celeryproject.org/en/latest/userguide/configuration.html
花了几个小时才弄清楚:(
我想这同样适用于 CELERY_QUEUES
你能发送带有建议编辑的公关吗?
文档实际上是正确的,但我花了一段时间才弄清楚为什么 - 我会解释以防它帮助其他人。
CELERY_ROUTES
是旧的 celery 设置名称,现在已替换为task_routes
。 但是,如果您想在 _Django_ 设置文件中指定 Celery 设置,则它们必须按照 Django 文档的要求为大写。 这意味着将TASK_ROUTES
添加到您的 Django 设置文件中,但为避免与其他 django 设置冲突,建议在 celery 设置前加上CELERY_
,这将导致您添加例如CELERY_TASK_ROUTES
到你的 Django 设置文件。 然后,您的代码将通过执行以下操作将其加载到 celery 应用程序中:
app.config_from_object('django.conf:settings', namespace='CELERY')
这将导致 Celery 采用CELERY_TASK_ROUTES
,剥离名称空间前缀以获得TASK_ROUTES
,并将其小写以获得task_routes
。 结果是它将通过新名称设置 celery 配置。
总之:
CELERY_ROUTES
是旧的 celery 设置名称CELERY_TASK_ROUTES
是新设置名称的大写前缀更改,通常用于从 Django 设置文件中设置新设置名称。希望有帮助。
(基于我对此堆栈溢出答案的简短评论)
最有用的评论
文档实际上是正确的,但我花了一段时间才弄清楚为什么 - 我会解释以防它帮助其他人。
CELERY_ROUTES
是旧的 celery 设置名称,现在已替换为task_routes
。 但是,如果您想在 _Django_ 设置文件中指定 Celery 设置,则它们必须按照 Django 文档的要求为大写。 这意味着将TASK_ROUTES
添加到您的 Django 设置文件中,但为避免与其他 django 设置冲突,建议在 celery 设置前加上CELERY_
,这将导致您添加例如CELERY_TASK_ROUTES
到你的 Django 设置文件。 然后,您的代码将通过执行以下操作将其加载到 celery 应用程序中:这将导致 Celery 采用
CELERY_TASK_ROUTES
,剥离名称空间前缀以获得TASK_ROUTES
,并将其小写以获得task_routes
。 结果是它将通过新名称设置 celery 配置。总之:
CELERY_ROUTES
是旧的 celery 设置名称CELERY_TASK_ROUTES
是新设置名称的大写前缀更改,通常用于从 Django 设置文件中设置新设置名称。希望有帮助。
(基于我对此堆栈溢出答案的简短评论)