- 13 Oct 2021
- 2 Minutes to read
- Print
- DarkLight
Run Flows For List Step - Run Behaviors Detailed
- Updated on 13 Oct 2021
- 2 Minutes to read
- Print
- DarkLight
Overview
The Run Flows For List step is a step in the Flow Engine that can be used to filter through Items within a List via a Flow built-in into the step.
This allows users to iterate through Lists with more efficiency and execute Multi-Threading via Workflow.
Similar to using a Run Sub Flow step, the executions within this step/Flow are carried out through the use of Flow Behaviors within the step's Properties tab.
The following document explains and demonstrates how each Run Behavior on the Run Flows For List step functions.
Synchronous
Synchronous Flow Behavior allows the step/the Processing Flow to run sequentially in real-time. In other words, upon Debugging the Flow, each instance of the Processing Flow runs after the other before finally finishing the Main Flow.
In this example., the Flow runs from the Start step, Processes through each Item in the List (32 times in total), then returns to the Parent Flow and completes.
Thread Job
The ThreadJob Behavior runs the each Processing Flow, Synchronously. This Behavior differs from the Synchronous Behavior in that it Processes each Item in the List by using separate multiple Threads; this executes the Processing fast than typical Synchronous Behavior. Selecting the Behavior provides users with two new Properties on the Run Flows For List step that must be defined before running the Flow:
Property Name | Description |
---|---|
Queue Name | Provides a name for the Work Queue utilized by the Run Flows For List step. |
Thread Count | Defines the number of Threads used to Process the Items from the Input List. |
Work Queue
Selecting WorkQueue runs the Processing Flow across multiple Work Queues. Doing so allows even distribution of the work and quicker process execution.
This Behavior provides the following additional Property:
Property Name | Description |
---|---|
Queue Name | Provides a name for the Work Queue utilized by the Run Flows For List step; by default, the name is set to "BatchQueue". |
Thread Job Async
The ThreadJobAsync Behavior functions similar to the Thread Job Behavior in that it utilizes Work Queues and Threads to execute the task of List Processing.
However, the step differs in that it runs the Thread Job Asynchronously; in turn, the Flow does not wait for any Return Data.
The step contains the following additional Properties:
Property Name | Description |
---|---|
Queue Name | Defines the name of the Work Queue utilized to process each List Item. |
Thread Count | Defines the number of Threads used to complete the iteration Process. |
Async And Wait
The AsyncAndWait Behavior option pauses the Parent Flow, and utilizes a Work Queue and additional Threads to process all Items in the List before proceeding and finishing the execution of the Parent Flow.
This step contains the following Properties:
Property Name | Description |
---|---|
Queue Name | Defines the name of the Work Queue utilized to process each List Item. |
Thread Count | Defines the number of Threads used to complete the iteration Process. |