7

出于某种原因,每当我在 Celery 中创建和运行新任务时,返回结果都会出现问题。第一个任务完美返回,但对于所有后续任务,结果始终处于挂起状态。我检查了 Celery 日志,它得到了正确的结果,没有错误,但它无法返回它。

如果有帮助,我正在运行 rabbitmq 作为我的后端。

4

2 回答 2

5

好吧,事实证明我只需要明确指定一个后端。

添加:

CELERY_RESULT_BACKEND = "amqp"

我的设置文件似乎可以解决所有问题。

于 2010-11-10T13:26:39.960 回答
1

即使我添加了“amqp”后端,我也会遇到同样的问题。

这是我的芹菜配置文件:

BROKER_HOST = "localhost"
BROKER_PORT = 5672
BROKER_USER = "guest"
BROKER_PASSWORD = "guest"
BROKER_VHOST = "/"

CELERY_RESULT_BACKEND = "amqp"
CELERY_AMQP_TASK_RESULT_EXPIRES = 18000  # 5 hours.
CELERY_IMPORTS = ("test", )

我的外壳第一次获得成功,第二次挂起。一段时间后,如果我再次调用该方法,它就会起作用。这种模式不断重复。

>>> r = test.add.delay(4, 4)
>>> r.get()
8
>>> r = test.add.delay(4, 4)
>>> r.get()
^C <---------- it was hung here forever, I had to press ^C

>>> r = test.add.delay(4, 4)
>>> r.get()
8
于 2011-02-16T10:04:35.773 回答