title: Deployment pattern for rabbitmq consumer
body: <p>I'm looking for a pattern to upgrade consumers without a downtime.  </p>
  
  <p>Assuming some consumers are already running, I can deploy new consumers with the upgraded version of the code.  </p>
  
  <p>Then, I want to "drain" the old consumers, which means I'll let them finish the processing of currently unacked messages, but I don't want them to accept more messages afterwards.
  I don't want to terminate the old consumers in the middle of message processing.</p>
  
  <p>Does rabbitmq has some sort of consuming policies? So new messages won't be sent to the old consumers.</p>
  
  <p>I use Python + pika client</p>