Tejaskurmar,
It does not appear that you are using the Priority value to prioritize, rather to sort or filter.
Harpreet's recommondation of using Tags will absolutely work, but I also agree that Tags can be a bit finicky. I do, however, tend to use Tags to make sure that the work units are moving forward in the process (I use the Status value to more clearly indicate where the work unit is in its progression as well, but since you cannot use the Status value to select a work unit, I end up duplicating the Status in the Tag field).
All that said, if you are truly looking to have the work units processed in parallel by separate machines, I would probably recommend creating discrete workqueues. You can still build in Process logic to state that if all of the items in Work Queue A are completed (or deferred) then move onto Work Queue B to assist.
I am curious as to why you would want a specific bot to cover one set of items, and a different specific bot to process a different set of items. We do our best to keep the Bots provisioned identically, so there would be no inherent advantage. In any case, maybe you could look at having the Bots assigned to the available work queues (or by Tags) in a First-In-First-Out method. To my mind, this could utilize yet another work queue (as a controller/gate keeper) or you could do something like a text file saved to a specific location to indicate which queue the Bot should work.
Good luck,
Red
------------------------------
Robert "Red" Stephens
Application Developer, RPA
Sutter Health
Sacramento, CA
------------------------------
Robert "Red" Stephens
Application Developer, RPA
Sutter Health
Sacramento, CA