Коллеги, возникла непонятная ситуация при использовании 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 успешно срабатывает.

В чем может быть косяк?