Table of Contents | ||
---|---|---|
|
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 will be fed into the next iteration as the input document which will continue execution until the stop condition is met or the iteration limit is reached.
...
Snap Type
The PipeLoop Snap is a Flow-type Snap.
Prerequisites
Child pipelines must have one input view and one output view.
Support for Ultra Pipelines
Does not work in Ultra Pipelines.
Limitations
Reuse is currently not supported because of needing to close an input view in order to force flush all documents out.
Reads only the first output document for a given input document (the rest will be ignored and dropped).
Supports expressions on the pipeline specification, but it will only be evaluated on the input document to PipeLoop, not for each iteration.
Known Issues
None.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input |
|
|
| The document or binary data to send to the child pipeline. For a single document input, only the first output document is captured in the output document. |
Output |
|
|
| If you select the Debug iterations output checkbox, an additional
|
Error | Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab:
Learn more about Error handling in pipelines. |
Snap Settings
Info |
---|
Learn more about the icons in the Snap Settings dialog. |
Field Name | Field Type | Description | |
---|---|---|---|
Label*
Default Value: PipeLoop | 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 Snap in your pipeline.
| |
Pipeline*
Default Value: N/A | 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 | 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 | 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 | |
Loop options | Define the iteration configuration. | ||
Stop condition Default Value: N/A | String/Expression | Specify the condition to be evaluated during execution that decides whether the execution should stop or continue.
| |
Iteration limit Default Value: 10 | Integer/Expression | Specify the maximum limit for the number of iterations to run to avoid infinite loops. | |
Debug iteration outputs Default Value: | 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 Value: LOCAL_NODE | Dropdown list | Select one of the following Snaplex options to specify the target Snaplex for the child pipeline:
| |
Execution label Default Value: N/A | String/Expression | Specify the label to display in the Dashboard for the current execution. | |
Snap Execution Default Value: | Dropdown list | Select one of the following three modes in which the Snap executes:
|
Example
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
...