Parallel Execution allows the configuration of parallel execution lines inside the pipeline flow. The component has 2 configuration steps, composed by parameters that define the executions general behavior and by specific parameters of the execution lines.

Take a look at the configuration parameters of the component:

  • Step Name: property that can be used to document, because it turns into the component presented text in the pipeline canvas.

Now take a look at the configuration parameters of the execution lines:

  • Description: property that can be used to document the execution lines, because it turns into the component presented text in the pipeline canvas.
  • Execution Id: defines the id of each parallel execution.

Messages flow

Input

No specific payload is expected in this component input. However, the input will be informed at each parallel execution line.

Output

The result of each execution will be available as an item of the array, identified with the Execution Id property - which defines the path taken by that execution, and with “result”, which contains its result.

[{
"executionId": "p-a",
"result": {
"parallel": "A"
}
}, {
"executionId": "p-b",
"result": {
"parallel": "B"
}
}, {
"executionId": "p-c",
"result": {
"parallel": "C"
}
}]

Parallel Execution in Action

See below how the component behaves in specific situations and what its respective configurations are.

  • Putting the result of the parallel execution together

To put the result of the parallel executions together, it's important to configure the Parallel Execution component inside a Block Execution. By the end of Block Execution, all the parallel executions will be synchronized and the result will be shown.

  • Parallel Execution used in the pipeline main flow

If the component is used in the pipeline main flow, then the parallel execution lines will be "put together" by the end of the execution and the pipeline will be finished with the output result.

  • Parallel Execution used inside another Parallel Execution

In this case, new parallel execution lines will be started and "put together" by the end of the parallel execution line that had the inner Parallel Execution. The more-external Parallel Execution will put its respective lines together only when the inner ones are finished.

Did this answer your question?