Right now QueueItems are added to the queue and performed FIFO. However, if one of the QueueItems fails due to a system exception with the queue set to retry and the retry number is less than the max, Orchestrator is adding a new QueueItem to the end of the queue where it’s retried after all of the other items are first attempted. I believe that there should be a setting available in Orchestrator to select where these items ought to go, whether they’re tried immediately or can be appended to the end to be processed later.
There unfortunately does not appear to be any easy workarounds for this problem either.
Please see this thread for more information: Immediately Retry Failed QueueItems