Hello, I am working on automations that now require multiple machines as the access requirements for certain applications are different. My question is, is it possible to filter certain items based off information in the specific queue item to go to certain machines? For example if the queue item has application name as “application A” it would go to machine A, and if it has “application B” it goes to machine B. Or would they require separate queues?
Hi @Garang
1 way I can think of is to have conditions in your process to check the info in queue and then based on the info retrieved, you start a job from your process with specific robot/machine.
I don’t think it can be handled directly via triggers from orchestrator unless you have different processes created for different queues and triggers defined accordingly to start a specific process on specific machine.
you will have to have conditions in your code and then use orchestrator API to start job from there for your scenario.
You can’t do it without retrieving the queue items checking the specific content and postpone it to make it back in new state.
Best practice would create separate queues for each bot and add logic to add queue items to be processed by each bot. Once you will have the transactions for each bot in a separate queues, you can create queue trigger to trigger specific queue items on specific bot.
Sounds like these should be separate automations running out of separate queues.
Welcome to the community
If its ok to leverage time triggers instead of queue triggers then you can use a single queue
For that you need to have the application name in your reference field in queue items and in the process in get transaction item use reference filter to get only related queue items with the same reference ..
Second way is what everyone are mentioning that is separate queue so that you dont need to filter with reference at all..you can use queue triggers here as the queue are different
Cheers
Hi @Garang
You would probably want 2 different Queues, seing that the performers are different, and then make your dispatcher place the items in the correct one based on some condition.
If you need to reuse parts of code between the two performers you could make a library.
Alternatively move the check to the performer, but this could create a loop, where the performer for application A constantly encounters application B items and cant process them.
Regards
Soren
Thanks, it sounds like a separate queue and process will be the best path forward.