title: RabbitMQ: how to handle unwanted duplicate un-ack message after connection lost?
body: <p>In my app(multiple instances), we occasionally see the case where connection is lost between my app and rabbitmq due to network issues(my app and rabbitmq are both alive), then after connection is recovered(re-established) we will receive messages that are unacked. </p>
  
  <p>This creates an issue for us, because my app wasn't dead, and it is still processing the same message it received before, but now the message is redeivered, and it causes the app to process the message again (which can be fatal to us).</p>
  
  <p>Since the app has multiple instances, it is not easy for an instance to check if another instance is processing the same message at the same time. <strong>We can't simply filter out redelivered message, because we need this feature to handle instance/app crashes/re-deployments.</strong></p>
  
  <p>It doesn't seem that there is an api to tell rabbitmq when to not redeliver unacked messages.</p>
  
  <p>So what is the recommended practice to handle this situation ? </p>
  
  <p>Thanks,</p>