【问题标题】:importing CELERY* environment variables in django settings.py causes celeryd not to start在 django settings.py 中导入 CELERY* 环境变量会导致 celeryd 无法启动
【发布时间】:2012-07-07 03:07:42
【问题描述】:

我只花了 2 个小时试图找出 django celery 停止工作的原因。

Celery 将启动,但不会打印出配置项,这意味着它启动不正确。日志将只包含

The celery.decorators module along with the magic keyword arguments, are deprecated, and will be removed in version 3.0.

请使用celery.task 模块而不是celery.decorators, 并且应该使用 task.request 而不是魔法关键字参数:

from celery.task import task

更多信息请参见http://bit.ly/celery22major

"""))

事实证明,我为尝试解决不同问题而导入的一些 celery 环境变量导致 celery 无法正确启动:

from celery.tests.config import CELERY_QUEUES, CELERY_DEFAULT_QUEUE, CELERY_DEFAULT_ROUTING_KEY

即使我没有在任何地方使用它们。

有人知道发生了什么吗?

【问题讨论】:

    标签: django-celery


    【解决方案1】:

    我要导入的常量实际上是为 celery tests (celery.tests.config) 定义的常量。导入时,它们对应的值进入 settings.py 的范围,因此当 celeryd 运行时,celery 最终使用 celery.tests.config 中定义的测试 CELERY_QUEUES,而不是默认为它们(正确的)各自的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-16
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多