Hi all, apologies if this has been asked before.
I have a workflow which spawns multiple child workflows. There could be a lot of child workflows spawned over the life of the parent. I want to keep track of any active children, so I can wait for active children to terminate in some instances.
I believe a simple way to handle this is to have a set of active child workflow IDs and then have each child signal to the parent when it is done (whether successful or failed) and have the signalMethod remove this child from the set.
If multiple signals come in at the same time is there any possibility that the set may be modified inconsistently due to some race condition? Or are signals processed sequentially as they come in? And if the main workflow is adding new workflow IDs to the set as signals are coming in for other completed workflows, will there be any risk of inconsistent modification?