0

我只花了 2 个小时试图弄清楚为什么 django celery 停止工作。

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

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

Please use the celery.task module instead of celery.decorators, and the task.request should be used instead of the magic keyword arguments:

from celery.task import task

See http://bit.ly/celery22major for more information.

"""))

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

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

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

有谁知道发生了什么?

4

1 回答 1

0

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

于 2012-07-07T08:07:30.037 回答