Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: PLAT-13101

...

Modes

Description

Standard mode (default)

  • A new child pipeline is launched for each input document in the standard mode.

  • If you set the pool size to n (where n is any number with the default setting value of 1, then n concurrent child pipelines can run simultaneously. Each child pipeline processes one document from the parent and then completes.

Reuse mode

  • In reuse mode, child pipelines are started, and each child pipeline instance can process multiple input documents from the parent.

  • If you set the pool size to n (default 1), then n number of child pipelines are started and they will process the input document in a streaming manner. The child pipeline needs to have an unlinked input view for use in reuse mode.

  • Reuse mode is more performant, but it has the restriction that the child pipeline has to be a streaming pipeline.

  • In reuse mode if a child pipeline fails, it causes the parent pipeline to fail.

Resumable Child pipeline

  • The resumable pipeline does not support the Pipeline Execute Snap.

  • A regular mode pipeline can use the Pipeline Execute Snap to call a Resumable mode pipeline. If the child pipeline is a Resumable pipeline, then the batch size cannot be greater than one. 

Ultra Task pipelines

  • Works in Ultra Task pipelines with the following exceptions:

    • The reuse option works in the Ultra pipeline if the child pipelines run on the same node. Running on a different node in the same Snaplex fails with a lineage error. To ensure that the child pipelines run on the same node as the parent pipeline, set Execute on to LOCAL_NODE. For more information, refer to Snap Support for Ultra Pipelines.

    • Without reuse enabled, the one-in-one-out requirement for Ultra means batching is not supported. A runtime check will fail the parent pipeline if the batch size is set to greater than 1. This would be similar to the current behavior in DB insert and other snaps in ultra mode.

ELT Mode

  • A pipeline can only use the Pipeline Execute Snap to call another pipeline with ELT Snaps in Standard Mode.

Pooling Enabled

  • The pool size and batch size can both be set to greater than one, in which case the input documents are spread across the child pipeline in a round-robin method to ensure that if the child pipeline does any slow processing external calls, then the processing is spread across the children in parallel. The limitation of this option is that the document order is not maintained.

...

Field Name

Field Type

Field Dependency

Description

Label*

Default ValuePipeline Execute
ExampleExecuteCustomerUpdatePipeline

String

None.

Specify the name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Pipeline*

Default Value: N/A
Example: 

String/Expression

None

Specify the child pipeline's absolute or relative (expression-based) path to run. If you specify only the pipeline name, Snap searches for the pipeline in the following folders in this order:

  • Current project

  • Shared project-space

  • Shared folder of the Org

You can specify the absolute path to the target project using the Org/project_space/project notation.

You can also dynamically choose the pipeline to run by entering an expression in this field when Expressions are enabled. For example, to run all of the pipelines in a project, you can connect the SnapLogic List Snap to this Snap to retrieve the list of pipelines in the project and run each one.

Execute On

Default Value: SNAPLEX_WITH_PATH
Example: groundplex4-West

Dropdown list

N/A

Select one of the following Snaplex options to specify the target Snaplex for the child pipeline:

  • LOCAL_NODE. Runs the child pipeline on the same node as the parent pipeline. This option is recommended when the child Pipeline is being used for Pipeline structuring and reuse rather than Pipeline workload distribution. Use this option for most regular child Pipeline executions.

  • LOCAL_SNAPLEX. Runs the child pipeline on one of the available nodes in the same Snaplex as the parent pipeline. As the child pipeline is on the local Snaplex, network communication is optimized for streaming data processing. Use this option only when workload distribution within the Snaplex is required.

  • SNAPLEX_WITH_PATH. Runs the child pipeline on a user-specified Snaplex, and the Snaplex Path field appears. It's important to note that this process is highly dependent on the network. The network communication is optimized for batch data processing since the child Pipeline is on a remote Snaplex. It is recommended to use this option only when the child Pipeline needs to run on a different Snaplex because of endpoint connectivity restrictions or for workload distribution purposes.

For more information, refer to the Best Practices.

Snaplex Path

Default Value:N/A
ExampleDevPlex-1

String/Expression

Appears when you select SNAPLEX_WITH_PATH for Execute On.

Enter the name of the Snaplex on which you want the child pipeline to run. Click (blue star)  to select from the list of Snaplex instances available in your Org.

Execution Label

Default Value: N/A 
Example: NetSuite-Create-Credit-Memo

String/Expression

N/A

Specify the label to display in the Pipeline view of the Dashboard.

You can use this field to differentiate each pipeline execution.

Pipeline Parameters

Use this fieldset to define the Pipeline Parameters for the pipeline selected in the Pipeline field. When you select Reuse executions to process documents, you cannot change parameter values from one Pipeline invocation to the next.

Parameter Name

Default ValueN/A
ExamplePostal_code

String

Debug mode checkbox is not selected.

Enter the name of the parameter. Select the defined Pipeline Parameters in the Pipeline field.

Parameter Value

Default Value: N/A
Example94002

String

None

Enter the value for the Pipeline Parameter, which can be an expression based on incoming documents or a constant. 

If you configure the value as an expression based on the input, then each incoming document or binary data evaluates against that expression when to you invoke the pipeline. The result of the expression is JSON-encoded if it is not a string. The child Pipeline then needs to use the JSON.parse() expression to decode the parameter value.

When Reuse executions to process documents is enabled, the parameter values cannot change from one invocation to the next.

Reuse executions to process documents

Default Value: Deselected

Checkbox

None

Select this checkbox to start a child pipeline and pass multiple inputs to the pipeline. Reusable executions continue to live until all of the input documents to this Snap are fully processed.

Info
  • When you select this checkbox, and the pipeline parameters use expressions, the expressions are evaluated with the first document. The parameter value in the child pipeline does not change across documents.

  • If you do clear this checkbox, a new pipeline execution is created for each input document.  

  • Reuse mode does not support batching.

Batch size*

Default Value: 1
Example: 2

Integer/Expression

None

Specify the number of documents in the batch size. If Batch Size is set to N, then N input documents are sent to each child pipeline that is started. After N documents, the child pipeline input view is closed until the child pipeline completes its execution. The output of the child pipeline (one or more documents) passes to the Pipeline Execute output view. New child pipelines are started after the original pipeline is complete.

Info
  • Batching is not supported for reuse executions..

  • This option is does not support reusable executions.

Pool Size*

Default Value: 1
Example: 4

Integer/Expression

None

Specify an execution pool size to process multiple input documents or binary data concurrently. When the pool size is greater than one, the Snap starts Pipeline executions as needed up to the specified pool size. 

When you select Reuse executions to process documents, the Snap starts a new execution only if either all executions are busy working on documents or binary data and the total number of executions is below the pool size.

Timeout (in seconds)

Default Value: N/A
Example:10

Integer/Expression

N/A

Specify the number of seconds for which the Snap must wait for the child pipeline to complete the runtime. If the child pipeline does not complete the runtime before the timeout, the execution process stops and is marked as failed.

Retry limit

Default Value: N/A
Example: 3

Integer/Expression

N/A

Specify the maximum number of retry attempts that the Snap must make in the case of a failure. If the child pipeline does not execute successfully, an error document is written to the error view. If the child pipeline is not in a completed state, then it will retry. The pipeline failure at the application level could have various causes, including network failures.

Note

This feature is incompatible with reusable executions. 

Retry is not supported if the input view is a Binary data type.

Retry interval

Default Value: N/A
Example: 10

String/Expression

N/A

Specify the minimum number of seconds the Snap must wait between two retry requests. A retry happens only when the previous attempt results in an error. 

Note

This feature is incompatible with reusable executions. 

Retry is not supported if the input view is a Binary data type.

Snap Execution

Default Value
Example: Validate & Execute

Dropdown list

N/A

Select one of the following three modes in which the Snap executes. The available options are:

  • Validate & Execute. Performs limited execution of the Snap and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only. Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled. Disables the Snap and all Snaps that are downstream from it.

...