We have a main workflow and a couple of childworkflows. Childworkflows via activitiy, signal data to main workflow.
During our load testing, we observed that the childworkfow’s activity responsible for sending signals was completing successfully. But the MainWorkflow wasn’t receiving these signals. This was intermittent, out of the 100 workflows we created, some got the signal and some didn’t get the signal.
- What should be scaled to ensure signals are received without delay?
I believe we made a wrong design decission to use signals for the communication between Child workflow and Main Workflow. Say there are 5 childworkflows. For our application to workflow properly, It is importatnt for the current child workflow to signal to the main worklfow and for the main workflow to recieve data before the current childworkflow completes and the next child workflow starts. If this doesn’t happen, then the next childworkflow will start without the data it requires and it will fail.
Is there a way to ensure that the child workflow waits for the main workflow to recieve the signal and succussfully store the data?
Is it better to change the design and in the main workflow we query the data from the childworkflow after the child workflow completes and before the next one starts?