芹菜无法从给定的任务中获得结果

时间:2015-03-13 21:14:06

标签: python celery

我尝试用rabbitmq配置芹菜。服务器工作正常,我的工作人员接收任务并返回成功结果但通信(?)失败。我是从celery doc开始的第一步。我启动了task worker并创建了文件tasks.py。我的联系:

app = Celery('tasks', backend='amqp', broker='amqp://')

记录员工内部(正确):

[2015-03-13 21:00:46,146: INFO/MainProcess] Task tasks.add[ee0fd026-d08e-4380-b010-9bbe65cb8b8f] succeeded in 0.00891784499981s: 4

但无法获得结果且状态正在等待

add_task = tasks.add.delay(2,2)

In [4]: add_task.status
Out[4]: 'PENDING'

1 个答案:

答案 0 :(得分:1)

add_task.status在排队后立即获取任务状态(请记住,您正在使用.delay,而不是立即执行),这将是PENDING

要从后端获取任务的状态,请使用AsyncResult

res = tasks.add.AsyncResult(add_task.task_id)

这将起作用,除非您将后端设置为忽略任务结果。