据我所知,任务状态完全取决于为CELERY_TASK_RESULT_EXPIRES设置的值 - 如果我在任务完成执行后在此间隔内检查任务状态,则返回的状态为:
AsyncResult(task_id).state
是正确的。否则,状态将不会更新,并将永远处于挂起状态。
谁能解释我为什么会这样?这是一个功能还是一个错误?为什么任务状态取决于结果到期时间,即使我忽略了结果?
(芹菜版本:3.0.23,结果后端:AMQP(
状态和结果相同。 结果后端最初用于存储返回值,然后扩展到存储任意状态。 结果一词已不再足够,因为它意味着任务已完成。 ignore_result
应该是ignore_state
,但我们还没有机会重命名它。 我有一个计划来清理这里使用的术语,但需要一些时间才能向后兼容。