I have a queue that has transactions where I want all to be completed, but I want to complete one subset of items first. My plan was to just give high priority to the first completed, then low priority to the ones I want done second.
However, if a transaction fails for an application exception (happens semi-frequently due to the applications I’m working with), I want it to be retried X times. When a high priority item fails and is retried, is it retried before or after the low priority items that haven’t yet been processed at all?
So if I have 5 items in the queue, 3 of which are high priority (HP) and 2 low priority (LP) would the processing go as follows?
- HP1 - processed
- HP2 - fails
- HP3 - processed
- HP2 retry - processed
- LP1 - processed
- LP2 - processed