I have a situation where a producer will fetch two company’s employee id’s. and update the queue with the companytype (e.g) : ‘google’ and ‘uipath’. The consumer will pick the employee id of those companies and get the information of the employee. I have developed in such a way that, at the end of process > a report will be generated with the name “Automationresult_Google_BotName.xlsx” and “Automationresult_uipath_BotName.xlsx”. So each bot which is engaged with the consumer produce the report like the above. I have 4 bots performing the process and it will generate 2 reports each.
Customer needs to get the single report on each company from all the bots. what would be the right and simple approach where i can modify the current process instead of writing newly?
I think the best approach is to have a single report to begin with. If you have multiple robots running the process at once, then you can use retry scope and check if the file is open by another user. The number of retries will be dependent on the number of robots you have (where more robots = longer wait times) and is therefore only scalable up to a certain limit. If you only have 10 or less robots running it shouldn’t be an issue.
Otherwise you can combine them all at the end, but that is subject to possible failures unless you use an entirely different process to do the combining of the report. If you want to try without creating a separate process, then I would recommend having the very end of your process check orchestrator for currently running process. If result is > 1, then end process. If result = 1 (just the currently running robot) then combine all reports into “master spreadsheet” which will just open each excel file one-by-one in a for each loop and append into a single datatable that will then be written to the master spreadsheet at the very end