summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2014-02-03 15:40:40 +0000
committerAsk Solem <ask@celeryproject.org>2014-02-03 15:40:40 +0000
commitf87256ed8e5d2e549b032600c4387905dd8007a9 (patch)
treed130bb71ec26a27773d9ce50a43e294d2b7db1fa
parent4bb7cae8053b92355e634292a987c703a23d5199 (diff)
downloadkombu-f87256ed8e5d2e549b032600c4387905dd8007a9.tar.gz
Adds async_consume example
-rw-r--r--examples/experimental/async_consume.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/experimental/async_consume.py b/examples/experimental/async_consume.py
new file mode 100644
index 00000000..1127128a
--- /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()