Hello!
I have a requirment to have a complex gateway connected to 15 tasks star some those tasks, finish them, then end the process.
I am trying to figure out how have a gateway that goes forward only when the handful of tasks started complete.
Here is a few examples.
Process starts with a parameter of "Billing".
My complex gateway starts tasks 5, 6, 8, 10, 11, & 12.
Those tasks finish. Meeting at some kind of end gateway. Gateway somehow knows i want to proceed and the flow goes to the end node.(this is the part i need help with)
Process starts with a parameter of "QA".
My complex gateway starts tasks 4, 5.
Those tasks finish. Meeting at some kind of end gateway. Gateway somehow knows i want to proceed and the flow goes to the end node.
How do I make a gateway to deal with these incoming flows? AND gates would wait for all 15 every time, complex doesn't work because the paths that need to complete are different sometimes.
I was thinking of a counter variable, but dont see a way to refrain from proceeding based on a variable.
At the moment I am pondering using a 5 min waiting loop, as this lets me direct based on a task counter i could keep track of.
I summary I would like some feedback on other ways to accomplish my goal of reconnecting these 1 to n flows and proceeding to my end node intelligently.
Thanks
Discussion posts and replies are publicly visible
FWIW, whenever I need to approach something like this, I usually defer away from complex gateways and use a more manageable design pattern like this prototype, wherein *all* paths are launched and non-needed ones are simply skipped over. As far as I can tell, this circumvents the various pitfalls you mentioned pretty nicely, and even though it's slightly more costly in terms of nodes used, it's much more manageable and comprehensible.
Thanks. I think this fits my issue perfect without needing too many changes too.
For me the path 1 2 and 3 subprocesses are all the same process outfitted with different parameters, so i can probably cut down on nodes by including the not needed path inside the process and taking the not needed path within based on a parameter.