Dispatcher/Performer - use cases and advantages

Why should one use a Dispatcher/Performer architecture? What are some use cases or the advantages? Could one just have a single robot for both functionalities?

Why should one use a Dispatcher/Performer architecture?
What are some use cases or the advantages?
----Dispatcher and Performer —need to use for better separation of workflow, error handling and retry mechanism, easy to run several machines.

Fine then

Let’s go one by one

Dispatcher is a bot that we create to load some data into the queues/datatables. This data can be later used by another bot called as Performer.

Basically, it is breaking one single big bot (having both functions of loading and performing) into two pieces. One bot loads the data & the other performs over it.

So if you have got a process where it first fetched the input data from a resource and then process it later then use dispatcher and performer concept


If you have a process which is used to keep the input ready for other multiple process then use a single dispatcher process to create new queue items as input so that it can be picked and processed by multiple performer bots

First scenario - you have one bot to fetch input and it has to be used by multiple other processes
Then use one dispatcher process and have multiple other processes called performer to process those data

Second scenario - you have one process where we need to fetch the input and validate and then only process
In that case use a dispatcher to fetch and upload the data ready in a queue or excel or keep the input anywhere readily
Then use a performer process to pick that input, validate and then process it

Yes ofcourse we can keep
But it is always to have two different process where at the end of the first process [Dispatcher] use a START JOB activity and call the second performer bot so that they will be ran one after the another in sequence

Hope this would help

Cheers @georgecristian.ivan

1 Like


Dispatcher / Performer is a concept to divide the piece of automation into two parts so that in future you can scale the bots according to the workload

Advantages, whenever you have a lot of workload you can easily maintain, Like you need to scrape the data of some employee from one website and process some steps per employee
In this case the Dispatcher will open the website and scrape the data and put into a queue
Now performer will collect the data from queue and process the steps per ID / employee

So if you have more workload then you can increase the performer bot by adding additional bots to do the steps per employee

You are spliting the jobs to make it faster and easier, You can also write entire automation in one Re-Framework also, but the process will go one by one by completing all the steps

Hope this may help you


1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.