title: Is there a way to let Pika BlockingConnection consume one message at a time?
body: <pre><code>import pika
  
  params = pika.URLParameters([URL])
  connection = pika.BlockingConnection(params)
  channel = connection.channel()
  channel.queue_declare(queue='test', durable=True)
  channel.basic_consume(do_things, queue='test')
  
  try:
      channel.start_consuming()
  except KeyboardInterrupt:
      channel.stop_consuming()
  except:
      rollbar.report_exc_info()
  finally:
      channel.close()
      connection.close()
  </code></pre>
  
  <p>This is the code I used to consume messages. The problem is, say I have 100 messages in the <code>test</code> queue. Once I start the consumer, it will get all 100 messages and process it one by one, i.e. the queue status became: message ready: 0, unacked: 100, total: 100. As a result, I wouldn't be able to spin up new consumers to process the 100 message in parallel, because there are no messages left for new consumers (all have been taken by the existing consumer, although most messages haven't be processed). Is there a way to let the consumer to only take 1 message at a time?</p>