我的芹菜工作流程是:
group1 = (task1, task2)
chain2 = (task3, group1)
group3 = (task4, task5, chain2)
当我开始时group3
,一切都很好:所有任务都以我需要的“依赖”执行。这些任务执行一些操作,然后返回一个布尔值。我想检查每项任务的结果。不幸的是,我无法检索所有结果:
group3.results
返回:
True, True, tuple
元组类似于:
('8a8b7c2c-db44-4096-ba29-93ad2cd63409', [('576966ec-0ce5-4d82-9ab5-a23da805299b', None), ('777c77a3-34d6-4021-943f-8c39e7e87311', None)])
我不能像连锁结果一样处理它。如果我用 id 创建一个 asyncresult 8a8b7c2c-db44-4096-ba29-93ad2cd63409
,我只能访问组中子任务的结果(即:我得到task1
结果task2
,但没有办法得到task3
结果)。
这种方法非常复杂,但我在 celery 文档中找不到特定的东西,在那里我找到了检索简单组/链结果的所有方法。
鉴于我真的了解工作流程,访问所有结果的最佳方式是什么?