芹菜无法从给定任务中获得结果
Celery can't get result from given task
我尝试用 rabbitmq 配置 celery。服务器工作正常,我的工作人员收到任务并且 return 成功但通信(?)失败。我正在遵循 celery doc 的第一步。我启动了 tasks 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'
add_task.status
在您将任务放入队列后立即获取任务状态(请记住,您正在使用 .delay
,而不是立即执行),这将是 PENDING
。
要从后端获取任务状态,请使用 AsyncResult
。
res = tasks.add.AsyncResult(add_task.task_id)
这将有效,除非您将后端设置为忽略任务结果。
我尝试用 rabbitmq 配置 celery。服务器工作正常,我的工作人员收到任务并且 return 成功但通信(?)失败。我正在遵循 celery doc 的第一步。我启动了 tasks 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'
add_task.status
在您将任务放入队列后立即获取任务状态(请记住,您正在使用 .delay
,而不是立即执行),这将是 PENDING
。
要从后端获取任务状态,请使用 AsyncResult
。
res = tasks.add.AsyncResult(add_task.task_id)
这将有效,除非您将后端设置为忽略任务结果。