I am using a similar orchestration pattern as what's described in this Stackoverflow question: celery chord with group of chains with exception in chain
The key orchestration code is this, which I've modified to make a task:
@app.task
def test():
chains = [chain(test1.si(), test2.si()), chain(test3.si(), test4.si())]
chord(group(chains))(cb.si())
This hangs for me when the task starts and can't be terminated unless I use kill -9 on the pid of the worker.
Is this type of orchestration supported behavior in Celery? Is there a configuration option I'm missing? I'm using Celery 5.4.0 with Redis 5.0.1 as its backend and this fails locally.
I'd like to get the callback behavior described available to chords. Instead, I'm having to execute code at the end of test2 and test4 to check the conditions that would be met once the other tasks are finished as sort of hacky substitute.