Run Flow For List Step - Run Behaviors Detailed
  • 06 Sep 2023
  • 2 Minutes to read
  • Dark
    Light

Run Flow For List Step - Run Behaviors Detailed

  • Dark
    Light

Article summary

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 more efficiently and execute Multi-Threading via Workflow. 

Like a Run Sub Flow step, the executions within this step/Flow are carried out through 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.

Additional Resources 
The following document provides a detailed look at specific Properties of the Run Flows For List step; for more general information on the step and for resources regarding Multi-Threading in Decisions, see:

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 NameDescription
Queue NameProvides 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. 
Note on Thread Count
Note that since each individual Thread on the Run Flows For List step executes as a separate process, running too high of a number may impact System performance. It is advised to use a lower Thread Count number such as "4" to test the impact of the step on the System.


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 NameDescription
Queue NameProvides 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 NameDescription
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 NameDescription
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. 
Additional Resources 
For additional information on Async And Wait Behavior, see the Run Flow Async And Wait section in the About Sync and Async Sub Flows document. 



Was this article helpful?