RPA flow details
RPA Grid Router is used to manage load between RPA Hubs and Nodes.
It enables correct task distribution in case of capabilities usage as well as advanced configuration flows.
Deployment architecture
Sequence diagram
Learn the abbreviations below:
- WF: WorkFusion (or Control Tower)
- RPAR: RPA Grid Router (or RPA Manager)
- HUB: RPA Hub
- Node1: Example of RPA Node
- RoboticsFlow: Flow plugin to communicate with Selenium.
- Robot: Plugin to execute Selenium commands.

Technical details on RPA Grid Router endpoints
Common servlets
- RouteServlet: used to create sessions.
- Checks if
capabilityNodeIdexists. - Tries to get md5sum of the hub.
- Finds the hub in quota file for the current user.
- If the hub was found, sends request to the hub.
- Otherwise, selects the hub by a configured strategy (Least Recently Used, Load Based, Random strategies).
- Checks if
- ProxyServlet: execution for an existing session.
- Manages timeout for script execution.
- GetSessionServlet: gets node ID by session ID.
- WFProxyServlet: node locking support.
- Finds and locks a node by provided capabilities if any.
Load distribution strategies
RPA Manager supports several task distribution strategies among hubs.
Session Load strategy
The strategy takes into account current load of the hubs and their nodes and route the task to the least loaded hub.
The strategy is set as default.
To apply the strategy, use the following configuration of grid-router/application.properties:
selenograph.gridrouter.hostSelectionStrategy=ru.qatools.selenograph.gridrouter.SessionLoadHostSelectionStrategy
Pros:
- Takes into account current load.
- Works well for asymmetric hub and node configuration. For example, two hubs with 10 and 3 nodes respectively.
Cons:
- Need to maintain correct configuration of node count for the hubs in
quota/.xmlfiles.
Least Recently Used strategy
Another distribution rule based on last time when hub received the task to process.
To apply the strategy, use the following configuration of grid-router/application.properties:
selenograph.gridrouter.hostSelectionStrategy=ru.qatools.gridrouter.WFHostSelectionStrategy
Pros:
- Insensible to incorrect node count configuration.
Cons:
- Significant slowdown and queues at hubs may appear in case of asymmetric RPA topology.
- Might have slowdowns if RPA tasks have very different execution length, like 4 tasks for 20, 2, 2 and 1 minutes respectively may be stuck in configuration: 2 hubs with 1 node each.