Используя сельдерей, я построил аккорд аккордов:
from celery import chord
chord(task1, chord(task2, task3))
Однако это часто вызывает тайм-аут:
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())
Есть ли способ изменить настройку тайм-аута, чтобы учесть этот дизайн сельдерея?
Обратите внимание, что в каждой задаче есть подзадачи, поэтому цепочка не гарантирует, что все подзадачи будут выполнены до начала следующей задачи.
Другое ограничение заключается в том, что я не могу вызвать get()
, чтобы сделать это за два шага, так как эти хорды уже строятся в задаче.