I want to discuss how to implement this BOT.
Dispatcher : Generates 6 excel files(well some times 2 or 3 or any number but max 6 excel files) and loads the data to the queue.
We want to develop 6 different performers. So each performer will take one excel file data from queue.
ex: perfomer A - QueueA
Performer B- Queue B
…
…
…
etc
PerformerF - Queue F
At last i have to update the result in the same sheet of excel file .
also send an email to the business.
How shall i do it?
Sharing my thoughts on your question. i think in your case we have to go for seven bots need to run parllel. one bot is to execute the dispatcher and the activity of the dispatcher is like it will download and extract the content from excel files and store the input data in work queue. here my suggestion don’t go for multiple queue for multiple performers use only one queue and use queue triggers to execute all the six performer bots. this should be good approach since the queue have mechanism is that once the item got processed or being processed it is having different status messages like IN progress or successful so always new performer bots look for the items which are in status as new. i hope my comments are helpful.
another scenario if we have any constraint on bots go for one bot for dispatcher and another bot for performer with one queue and schedule the performer bot to run periodically to get the data from dispatcher.
Thank you for the information, but i have one question - if i use the one queue name, then the dispatcher will process all the 6 excel file and put in the queue.
and it will create the confusion to the Performer.
So the Performer A can fetch all the records and start working on the all queue items and Performer B may be left with no items. Dont you think it may happen?
As per my knowledge process will take the data one by one from queue. All the performer bots will share the data. Basically dispatcher and performer concept will come into picture for share the work load.
There is no scenario like one performer bot will take all the data and will work. Please try suggested method and check your scenario satisfies.
We have usecase like dispatcher will get the input data from application and we have two performer bots to share the data and proceed those data in to ERP application. Here w have used only one queue to achieved this scenario.
In my case , each performer does different work. all 6 performer have different flow.
So if performer A starts with the Queue based triggers, then it will take all the queue items. As soon as dispatcher will add the items to queue then all the items will be picked up by the Performer A.
I am going to use only one Bot Id in the PROD. so at one time one Performer we run.
also all 6 excel files have different no of fields and different data.
In this case in my opinion since we have one bot i will not go with the dispatcher and performer model. i will create one process using RE frame work and in initial phase i will download all 6 different excel and put the whole data in one single queue( my assumption is each set of data have some unique filed like order id or invoice id etc). in the process flow i will create 6 different work flow using switch case and i will use condition to check what type of data we are getting first item if it is related to second excel i switch to second work flow and process it and so on to achieve this scenario. it just my thought if you are think this works please give it a thought. and in the end process we can use filters to divide the 6 different set of data into 6 different sheets and send consolidate data to customer.