Pipeline Executor

Discover more about the Pipeline Executor component and how to use it on the Digibee Integration Platform.

Pipeline Executor makes synchronous or asynchronous calls to other pipelines that have already been deployed. When using the synchronous approach, you can obtain the result of the called pipeline.

Parameters

Take a look at the configuration options for the component. Parameters supported by Double Braces expressions are marked with (DB).

Parameter
Description
Default value
Data type

Operation

SYNC for synchronous calls to the pipeline and ASYNC for asynchronous calls to the pipeline.

SYNC

String

Pipeline Name

Name of the pipeline to be called.

N/A

String

Version Major

Major version of the pipeline to be called.

1

Integer

Payload

Payload to be sent when the pipeline is called.

N/A

Any

Timeout

Maximum time of the pipeline execution (in milliseconds).

20000

Integer

Expiration

Time that the message remains in the queue when trying to execute the pipeline (in milliseconds).

30000

Integer

Fail On Error

If the option is activated, the execution of the pipeline with an error will be interrupted; otherwise, the pipeline execution proceeds, but the result will show a false value for the “success” property.

False

Boolean

Messages flow

Input

No specific payload is expected in this component input. The input will be dynamically configured in the Payload field according to the need of the pipeline to be called.

Output

{
   "operation": "SYNC",
   "pipelineName": "pipeline-example",
   "versionMajor": 1,
   "success": true,
   "payload": {},
   "pipelineResponse": {}
}
  • operation: the selected operation, SYNC or ASYNC.

  • pipelineName: name of the called pipeline.

  • versionMajor: major version of the called pipeline.

  • success: if the call was successful.

  • payload: payload used to call the configured pipeline.

  • pipelineResponse: response of the executed pipeline. This property is returned only in the SYNC operation.

Pipeline Executor in action

See below how the component behaves in certain situations and how it is configured in each case.

Making an asynchronous call

Operation: ASYNC

Pipeline Name: name of the pipeline to be called

Version Major: 1

Payload: {}

Timeout: 20000

Expiration: 30000

Fail On Error: false

In the scenario above, an asynchronous call to the configured pipeline will be made and the current flow will continue normally without waiting for the called pipeline response. You will be able to see the execution and the call logs of this pipeline in the Platform logs screen.

Output

{
   "operation": "ASYNC",
   "pipelineName": "name of the pipeline to be called",
   "versionMajor": 1,
   "success": true,
   "payload": {}
}

Making a synchronous call

Operation: SYNC

Pipeline Name: name of the pipeline to be called

Version Major: 1

Payload: {}

Timeout: 20000

Expiration: 30000

Fail On Error: false

Output

{
   "operation": "SYNC",
   "pipelineName": "name of the pipeline to be called",
   "versionMajor": 1,
   "success": true,
   "payload": {},
   "pipelineResponse": {}
}

When deploying pipelines with Pipeline Executor, pay attention to concurrent execution configurations in the origin and destination pipelines, especially when the Operation parameter is in SYNC.

To avoid enqueue and timeout errors in the destination pipeline, it is recommended that the same concurrent execution configuration be applied on both pipelines.

Red flag examples

pipeline1(Medium) <-> pipeline2(Small) pipeline1(Large) <-> pipeline2(Medium) pipeline1(Large) <-> pipeline2(Small)

Maximum Concurrent Executions by deploy type

Small - max 10 Medium - max 20 Large - max 40

Last updated