At the moment, tripleoclient expects to only receive one message from the zaqar queue. It waits on a specific queue and finishes when a message comes with the execution ID for the workflow it started. It also ignores all messages from sub-workflows (even if they use the same queue, because it checks for a execution ID match.
This should be fairly easy to to, unless we plan on sending multiple messages from the same queue. Then we may need to use some convention to tell tripleoclient when to stop listening. We could use a convention like this:
1. Wait for messages on a queue.
2. consume and forward all messages from all workflows
3. If a message is from the execution ID it started (the parent workflow) and it contains "workflow_finished: true". Then stop listening.
https:/ /review. openstack. org/#/c/ 406178/