Branching and joining steps

You can branch processes so that multiple steps run at the same time. You can also merge processes to return to running a single step at a time.

Branching steps

To branch a process and run multiple steps at the same time, add multiple outgoing connections from a step. You can use any combination of success, fail, and both conditional flags, as described in Conditional processes. For example, the following process shows a step that branches into four other steps. Two connections have success flags. One has a fail flag, and one has a both flag.

A process that branches into multiple steps, depending on the result of the first step

In this case, if the first step finishes, three steps run at the same time: the connections with the success flags and the connection with the both flag. If the first step fails, two steps run at the same time: the connection with the fail flag and the connection with the both flag.

Merging steps

If a process has multiple steps that run at the same time, you can use connections to merge the process to a single step. For example, the following process shows two steps that are running at the same time. Both of these steps have a connection to a third step, and both of these connections have a success conditional flag. In this case, if both of those steps finish, the following step runs. If either step fails, the third step might or might not run, depending on the timing of the other steps and the internal timing of the process on the server.

A process that merges processing into a single step.

Merging steps with a Join step

To merge the process to a single step, and to remove the ambiguity of the previous example, use a Join step. This step prevents the process from continuing until all the steps that have incoming connections are complete.

For example, the following process is the same as the previous process, except that Step 1 and Step 2 connect to a Join step, which then connects to Step 3. In this case, the Join step prevents Step 3 from running unless both Step 1 and Step 2 run and are completed.

A process with parallel steps that end with a Join step; the final step runs only if both of the parallel steps run


Feedback