Celery任务状态取决于CELERY_TASK_RESULT_EXPIRES

时间:2013-10-11 10:39:28

标签: python rabbitmq celery amqp

从我所看到的,任务状态完全取决于为CELERY_TASK_RESULT_EXPIRES设置的值 - 如果我在任务完成执行后检查此间隔内的任务状态,则返回状态:

AsyncResult(task_id).state

是对的。如果没有,状态将不会更新,并将永远保持待命。

任何人都可以解释我为什么会这样吗?这是一个功能还是一个bug? 为什么任务状态取决于结果到期时间,即使我忽略了结果?

(芹菜版:3.0.23,结果后端:AMQP)

1 个答案:

答案 0 :(得分:5)

状态和结果是一样的。结果后端最初用于存储返回值,然后将其扩展为存储任意状态。术语结果不再足够,因为它意味着任务已经完成。 ignore_result应为ignore_state,但我们还没有机会重命名。我有计划清理这里使用的术语,但是向后兼容需要一些时间。