据我所知,任务状态完全取决于 CELERY_TASK_RESULT_EXPIRES 设置的值 - 如果我在任务完成执行后检查此间隔内的任务状态,则返回的状态为:
AsyncResult(task_id).state
是正确的。如果没有,状态将不会更新并且将永远保持 PENDING。
谁能解释一下为什么会发生这种情况?这是一个功能还是一个错误?
即使我忽略结果,为什么任务状态取决于结果到期时间?
(Celery 版本:3.0.23,结果后端:AMQP)
状态和结果是一样的。结果后端最初用于存储返回值,然后扩展为存储任意状态。 “结果”一词不再足够,因为它意味着任务已经完成。ignore_result
应该ignore_state
,但我们还没有机会重命名它。我有一个计划来清理这里使用的术语,但是向后兼容需要一些时间。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)