Here is a quick explanation on this. It’s generated by LLM but validated by me.
Multi-Bot Architecture in UiPath:
The Multi-Bot Architecture in UiPath typically involves the use of multiple robots (bots) to handle different parts of a larger process. This architecture is designed to optimize workload distribution and process efficiency. Here’s a detailed look into the Multi-Bot Architecture focused around the Dispatcher and Performer model:
Dispatcher Bot
Purpose:
The Dispatcher Bot’s role is to collect data that needs to be processed and add this data to an Orchestrator queue.
Typical Workflow:
Data Collection: The bot gathers emails (with one or more attachments) and downloads these attachments.
Queue Population: For each row of data in the attachments, the bot creates a queue item in UiPath Orchestrator.
REFramework Initialization: Although REFramework (Robotic Enterprise Framework) is often used for initializing bots, a Dispatcher might sometimes be customized to fit more straightforward processes since it does not always require complex state management.
Performer Bot
Purpose:
The Performer Bot consumes the queues populated by the Dispatcher Bot and performs the necessary processing.
Typical Workflow:
Initialization: Set up machines and schedule jobs to start Performer Bots simultaneously.
Queue Processing: These bots run in parallel, each fetching data from the queue in a way that avoids conflicts.
Orchestrator Coordination: The UiPath Orchestrator ensures that if one bot picks an item, its status is changed to ‘In Progress,’ preventing other bots from picking the same item.
Here’s how the interaction between Dispatcher and Performer Bots usually unfolds:
Dispatcher Setup:
The Dispatcher Bot is configured to read emails, download attachments, and parse data into a structured format.
The parsed data (typically each individual record) is added to the Orchestrator Queue system.
Performer Setup:
Multiple instances of the Performer Bot are scheduled to run concurrently.
Each Performer Bot interacts with the Orchestrator Queue to process items. When one item is picked by a bot, it is flagged to ensure no conflict occurs with other bots trying to process the same item.
By using this architecture, tasks are efficiently expedited through load distribution. The UiPath Orchestrator plays a crucial role in managing these queues and ensuring seamless task allocation.
Key Considerations
Shared Resources: Common resources (such as shared drives or storage buckets) must be accessible to all Performer Bots to avoid data inconsistency issues.
State Management: Proper planning for state transitions (Initialize, Get Transaction Data, Process Transaction) within REFramework is crucial to maintain smooth operations.
This architecture enhances scalability and reliability in automation processes.
You will have to just trigger another job for the process. The Queue items will be picked up by both jobs without any conflicts at all as the logic to avoid any queue items being picked up by more than one bot/job is already handled by Orchestrator. We don’t have to worry about it and it never fails.