[Python] rabbitmq python pika stop consuming if queue is empty

Discussão em 'Python' iniciado por Stack, Maio 20, 2025.

  1. Stack

    Stack Membro Participativo

    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...

Compartilhe esta Página