Managing this kind of redelivery server side is mostly ugly too. That's why we chose to provide a general purpose Job Scheduler (
Scheduler Swiftlet) in every SwiftMQ Router. For your problem you can just create a
message schedule. There is an example on that page which schedules redelivery of a message 2 h from now.