This section handles the Agent behaviour during map’s execution.
This section you will teaches how to handle cases where process is executed by multiple agents and how process behaves and special cases where process merges.
The flow control helps the developer to avoid conditional race
Note that the Agent flow control handle the case of several agents and the Process coordination handle the case of several processes executed.
Agent flow control
Run For each agent
This option is the default option where all agents that reach this process will execute the process and move forward without connection to other agents that might stay behind.
Wait for all agents and than run
This option will pause the execution on this current agents until all other action will reach this point and then execute the same process on all agents. It will make sure that all agents are aligned.
Run only for first agent
Only the first agent reaching this process will execute the process itself. Other agents reaching the process will proceed to the next process.
When few processes are merge into one next process there are few different ways the developer can choose how to proceed.
Wait for all
This option will hold all processes reached to this merging process until all other process that are still behind to reach this process and then the execution will proceed. This will line all processes. It actually works like the wait for all processes in the common behaviour in the Agent flow control
Run once for first
This option will make sure that once first process hits this merge point the process will be executed and other processes will skip the execution of the merge process.
Run for each link
This option is not a merge actually. It will make sure that the same process will run several times – by the end of each and every previous process ended.
You can choose if you want to execute the action in specific process in parallel or one after the other.