Hi!
I saw that priorities are not planned for quorum queues, and multiple queues should be used instead. I was wondering how to implement this in practice.
In our case we have tasks that take up to ~1hr to process, and must be done one at a time by the workers (they use a lot of storage).
If we consume from both a high priority queue and normal priority queue with prefetch=1, it's possible we receive two messages at a time. We can't hold on to the normal priority message, because it would be really bad to block it for up to 1hr while another worker may have become available a minute later. That leaves us with either doing a nack, or requeuing it, and neither option looks great: with nack the messages risk hitting x-delivery-limit, and with requeue we lose FIFO ordering.
I'm thinking a workaround might be to delay subscribing to the normal priority queue by 1-2s, to make sure no high priority message arrives first, such that nacks are still possible but unlikely.
Any other ideas?
Thanks,
Dominic Morneau