I'm using rabbitMQ, I take every message from queue with basic_get without automatically acking procedure, which means the message remain in queue until I ack or nack the message.
Sometimes I've messages that can't be processed because of some exception thrown, which prevented them from being fully processed.
In these cases, I want to try again lets say twice immediately and if I still couldn't process them as a result - I want to try again 3 more times in one hour interval, if then all fails then I would like to nack the message and remove it from queue permanently.
Question is if there any mechanism in rabbitMQ which provide me with message retries (which also counting the number of retries), and ability to choose when the retry will be launch- some kind of postpone mechanism?