REFramework. Dispatcher - Performer

I have been trying to figure out what the best practice is for using the REFramework and queues.

Since we are trying to make robust processes for the robots we have decided to adopt the REFramework. In my opinion the process only becomes really robust when you use it in combination with Queues so that If one of the queueitem fails the process does not completely re-run the process for the entire dataset.

But whats the best practice of really handling this, do you have a bunch of ‘dispatcher’ processes running on one of your robots that feed the various queues and do you have your other robots picking up these queue items and handling them?

Or do you simply schedule the dispatcher process before the performer process and handle the entire end to end process on one robot?

So basically:

  1. One dispatcher robot feeding all of the queues & multiple multi-purpose robots that pick up and process the queueItems.
  2. For each ‘department’ - E.g.: IT, Finance, HR, … you have a dedicated robot doing the entire end-to-end process.

Any insights would be helpful.


All the approaches you mentioned are correct.

Additionally, we need to consider below in designing automation of process.

  • Availability of Data or Application for processing
  • Volume
  • Average Handling Time (AHT) & SLA

Based on above criteria you can decide how many dispatcher and performer requires in your process. I would personally recommend to keep dispatcher and performer separate process and run dispatcher before performer.

For small process where I had to use Queues, where I had also used dispatcher and performer in same process. where I was adding queue items before processing.

So, i’m working for one organisation and I would like to set-up a harmonized way of doing this. So for every process we would have the same way of working.

Currently my preference goes out to having one (or multiple) robots running all of the ‘dispatch’ processes and then having the others pick up on the queueItems.

This in combination with smart scheduling* seems like the best way to go. However I am a complete rookie to this & would like to know if there are some pitfalls I should take into account.

By smart Scheduling I would consider the following items

  • Make sure the dispatcher is completed before the performer starts
  • Average handling time & Estimated Volume
  • SLA - More specific, when the robot will perform the processes & when he will be finished.

One more question: Do you think the dispatch processes should use parts of the Framework as well? or can this be a simple process, extracting the data & loading it into the queues?

Again, any input is appreciated :slight_smile:

Thank you

If dispatcher and performer both are running on separate bot then this is not always required both can work parallel

Yes, I would recommend to use framework to handle exceptions and fall back in dispatcher process as well.

1 Like