I created some consumers that connect to a queue in Rabbitmq, unack a number X of messages, like 10,50,100 each time to avoid unnecessary connections taking one by one. Sometimes we have situations that the queue was almost empty and just one consumer got all the messages. Unfortunetly it's possible that one of the messages is slow to process (a third party web service timed out for example) and all the others messages have to wait in line this one finishes, even if they are faster. While this, other consumers are empty and have nothing to do, but they can't take the messages that the first one still haven't processed.
If I could say to Rabbitmq delivery a sort of messages to consummer and if it don't ack after a period of time the massages have to be delivered to queue and be taken by another consumer. Somebody knows if there is a work around?