Using celery, I have constructed a chord of chords:
from celery import chord
chord(task1, chord(task2, task3))
However, it often raises a timeout:
Chord '0f3dd024-8fe3-4b1b-ab9b-6081569c9738' raised:
"TimeoutError('Operation timed out (3.0)',)"
Traceback (most recent call last):
File "python2.7/site-packages/celery/backends/base.py", line 568, in on_chord_part_return
StopIteration
culprit = next(deps._failed_join_report())
Is there someway to modify the timeout setting to allow for this celery design ?
Note that there are subtasks within each task, so a chain has not seemed to ensure all subtasks have completed before starting the next task .
Another constraint is that I cannot call get()
to do this in two steps as these chords are already being constructed in a task.