My workflow with celery is:
group1 = (task1, task2)
chain2 = (task3, group1)
group3 = (task4, task5, chain2)
When I start group3
, everything goes fine: all the task are executed with the "dependency" that I need.
The tasks perform some operation and then return a boolean.
I would like to check the result of every task. Unfortunately, I am not able to retrieve all the results:
group3.results
returns:
True, True, tuple
The tuple is something like:
('8a8b7c2c-db44-4096-ba29-93ad2cd63409', [('576966ec-0ce5-4d82-9ab5-a23da805299b', None), ('777c77a3-34d6-4021-943f-8c39e7e87311', None)])
And I cannot handle it like a chain result.
If I create an asyncresult with the id 8a8b7c2c-db44-4096-ba29-93ad2cd63409
, I can only access the results of the subtask in the group (i.e.: I get task1
and task2
results, but no way to get task3
result).
This method is extremely complicated, but I cannot find something specific in celery documentation, where I found all the method to retrieve simple groups/chains results.
Given the fact that I really know the workflow, what is the best way to access ALL the results?