Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
none
minLevel1
maxLevel2
include
outlinefalse
indent
styledisc
exclude
typelist
class
printabletrue

Overview

You can use this Snap to enable looping on pipeline executions based on a stop condition or iteration limit. The output document of each iteration is fed into the next iteration as the input document, and execution continues execution until the stop condition is met or the iteration limit is reached. Learn more.

...

Snap Type

The PipeLoop Snap is a Flow-type Snap.

...

  • Child pipelines must have one input view and one output view.

Support for Ultra

...

Tasks

Limitations

  • Reuse is currently not supported because of the requirement to close an input view to force flush all documents out.

  • Reads only the first output document for a specific input document (the remaining documents are ignored and dropped).

  • Supports expressions on the pipeline specification, but only evaluates the input document to PipeLoop, not for each iteration.

...

Field Name

Field Type

Description

Label*

 

Default ValuePipeLoop
ExampleSimpleLoop

String

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

 

Pipeline*

 

Default Value: N/A
Example: demo-child-pipeline

String/Expression

Specify the path of the pipeline to execute.

Pipeline Parameters

Use this field set to define child pipeline parameters to use for executing the pipeline.

Parameter name

Default Value: N/A
Exampletools

String/Suggestion

Specify the parameter's name. You can also select the Pipeline Parameters defined for the pipeline selected in the Pipeline field.

Parameter value

Default Value: N/A
Example$tools

String/Expression

Specify the value for thepipeline 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 is evaluated against that expression when invoking 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.

Loop options

Define the iteration configuration.

Stop condition

Default Value: N/A
Example: $num >= 10

String/Expression

Specify the condition to be evaluated during execution that decides whether the execution should stop or continue. The iteration continues until the stop condition is met or the iteration limit is reached. The Snap errors out if the Stop condition cannot be evaluated at run time. The stop condition is evaluated on the output document from each iteration.

Iteration limit

Default Value10
Example: 15

Integer/Expression

Specify the maximum limit for the number of iterations to run to avoid infinite loops.

Debug iteration outputs

Default ValueDeselected

Checkbox

Select this checkbox to include the index, output document, and stop condition evaluation for each iteration as part of the output format.

 

Execution options

Define the child pipeline execution configuration.

Execute on

Default ValueLOCAL_NODE
Example: LOCAL_SNAPLEX

Dropdown list

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.

  • LOCAL_SNAPLEX: Runs the child pipeline on one of the available nodes in the same Snaplex as the parent pipeline.

Execution label

Default Value: N/A
Example: demo

String/Expression

Specify the label to display in the Dashboard for the current execution.

Snap Execution

Default ValueValidate & Execute
Example: Execute only

Dropdown list

Select one of the following three modes in which the Snap executes:

  • 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.

Execution flow of Pipeloop Snap

The execution workflow of the PipeLoop Snap enables the parent pipeline to control and manage iterative processes using the child pipeline, for scenarios where repeated processing is needed until a specific condition is satisfied. Here are the key steps in the execution of the PipeLoop Snap:

  1. The parent pipeline passes the input document to the child pipeline.

  2. The child pipeline executes.As shown in the example below, you can preview the child pipeline by hovering over the Pipeloop Snap while the parent pipeline is open in the Designer.

    1. Parent pipeline: The parent pipeline generates the initial input using the JSON Generator Snap. The PipeLoop Snap iteratively calls the child pipeline until the condition specified is reached.

    2. Child pipeline: The Mapper Snap in the child pipeline processes the mapping and transformation of data as needed during each iteration.

      pipeloop-child.pngImage Added

Example

Insert excerpt
Flow Snap Pack
Flow Snap Pack
nopaneltrue
Related links: