Коллеги, возникла непонятная ситуация при использовании chord в chord.
@app.task
def taskA():
logger.info('taskA start');
@app.task
def taskB():
logger.info('taskB start');
tasks = [taskA.s().set(queue='st'), taskB.s().set(queue='st')]
groupA = chord(tasks, group_complete.s().set(queue='publish'))
groupB = chord(tasks, group_complete.s().set(queue='publish'))
chord([groupA, groupB], main_group.s().set(queue='publish')).apply_async()
Проблема в том, что после успешного завершения taskA, taskB в группах groupA, groupB, события в данных группах group_complete не запускается (точнее не событие, а такс по завершению группы).
При этом, если запустить группу непосредственно : groupA.apply_async(), то group_complete успешно срабатывает.
В чем может быть косяк?