I thought this would happen automatically with queue and queue item priorities, but it appears it doesn’t work like I was thinking.
Let’s say I have a low priority process that regularly gets 100+ queue items. Then less often, there is a high priority process that gets a single high priority queue item.
I’d expect the robot to stop processing low priority queue items from 1 queue and instead pick up the high priority queue item from the other queue.
It doesn’t seem to work this way. The robot will finish all of the low priority items from 1 queue, and THEN it will start on the high priority queue item from the other queue.
As far as I know, there is no such feature. You can do this if you collect these transactions in a single queue.
Another way is to create a generic queue addition operation.
Imagine you have a process that feeds the queues, and all your processes are running as triggers. During this process, you add an item to the queue according to your priority, and whenever an item is added to the queue, that process will be run by the trigger.
We basically just always have low-priority stuff for our robots to work on if there’s nothing else going on. We just want them to give up that stuff is something higher priority comes up.
I’ve been exploring this too recently. My only thought as a work around would be (recognise its not the most efficient) but when using the ReFramework to set the process transaction go to End Process then have a queue trigger for every queue item on a low priority so the priority then gets managed within orchestrator.
I’d be interested too in knowing if there is a better more efficient way to make use of priority without having to do single jobs per queue item and actually maximise the ReFramework.