title: How to redeliver queued messages in RabbitMQ using Langohr?
body: <p><strong>Background</strong></p>
  
  <p>We consume messages from RabbitMQ with Langohr (version 3.4.0) and try to persist them into MongoDB. We're not using <code>auto-ack</code> since if we fail to persist the messages in MongoDB we want to be able to retry later. We're using the <a href="http://reference.clojurerabbitmq.info/langohr.consumers.html" rel="nofollow">ack-unless-exception
  </a> function to accommodate this. Tonight MongoDB had a temporary disruption and was down for a short period of time during which 40 messages couldn't be persisted and were thus retained in the RabbitMQ queue. But when MongoDB came back up again our Langohr handler just received new messages. The old ones were not delivered to us before we did a restart of our application. </p>
  
  <p><strong>Question</strong></p>
  
  <p>How can we make RabbitMQ redeliver the previous nack:ed messages with Langohr without having to restart our application?</p>