title: Efficient method to read messages from sqs without polling consecutively
body: <p>I am very new to AWS SQS queues and I am currently playing around with python and boto.
  Now I am able to read messages from SQS  by  polling consecutively. </p>
  
  <p>The script is as follows:</p>
  
  <pre><code>while 1:
      m = q.read(wait_time_seconds=10)
      if m:
          print m
  </code></pre>
  
  <p>How do I make this script constantly listen for new additions to the queue without using while loop?
  Is there a way to write a Python consumer for SQS that doesn't have to poll periodically for new messages? </p>