I have simply code retrieving messages from queue but keep waiting for new messages how can I continue execution after all messages retrieved ? import pika, sys, os def main(): connection = pika.BlockingConnection(pika.ConnectionParameters('localhost',credentials=pika.PlainCredentials('user','pass'))) channel = connection.channel() channel.queue_declare(queue='test') def callback(ch, method, properties, body): print(f" [x] Received {body}") channel.basic_consume(queue='sms', on_message_callback=callback, auto_ack=True) print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming() if __name__ == '__main__': try: main() except KeyboardInterrupt: print('Interrupted') try: sys.exit(0) except SystemExit: os._exit(0) Continue reading...