出于某种原因,无论何时我在Celery中创建并运行新任务时,返回结果都会出现问题。第一个任务完美返回,但对于所有后续任务,结果始终处于等待状态。我检查了芹菜日志,并得到正确的结果没有错误,但它不能返回它。芹菜不返回结果
如果有帮助,我运行rabbitmq作为我的后端。
出于某种原因,无论何时我在Celery中创建并运行新任务时,返回结果都会出现问题。第一个任务完美返回,但对于所有后续任务,结果始终处于等待状态。我检查了芹菜日志,并得到正确的结果没有错误,但它不能返回它。芹菜不返回结果
如果有帮助,我运行rabbitmq作为我的后端。
事实证明,我只是需要明确指定一个后端。
添加:
CELERY_RESULT_BACKEND = "amqp"
我的设置文件似乎解决一切。
即使添加'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
什么版本的芹菜?你用什么来存储结果? (CELERY_RESULT_BACKEND) – asksol 2010-11-10 07:32:32
版本2.2和rabbitmq是我的后端。 – veered 2010-11-10 12:58:18
等一下。对不起,这没有任何意义。我没有设置任何数据库,或者更改了任何配置设置。这是否意味着它将默认为AMQP? – veered 2010-11-10 13:20:47