From f87256ed8e5d2e549b032600c4387905dd8007a9 Mon Sep 17 00:00:00 2001 From: Ask Solem Date: Mon, 3 Feb 2014 15:40:40 +0000 Subject: [PATCH] Adds async_consume example --- examples/experimental/async_consume.py | 29 ++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/experimental/async_consume.py diff --git a/examples/experimental/async_consume.py b/examples/experimental/async_consume.py new file mode 100644 index 000000000..1127128ac --- /dev/null +++ b/examples/experimental/async_consume.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +from kombu import Connection, Exchange, Queue, Producer, Consumer +from kombu.async import Hub +from threading import Event + +hub = Hub() +exchange = Exchange('asynt') +queue = Queue('asynt', exchange, 'asynt') + +def send_message(conn): + producer = Producer(conn) + producer.publish('hello world', exchange=exchange, routing_key='asynt') + print('MESSAGE SENT') + + +def on_message(message): + print('RECEIVED: %r' % (message.body, )) + message.ack() + hub.stop() # <-- exit after one message + + +if __name__ == '__main__': + conn = Connection('amqp://') + conn.register_with_event_loop(hub) + + with Consumer(conn, [queue], on_message=on_message): + send_message(conn) + hub.run_forever()