2016-09-24 17:45:49 +00:00
|
|
|
"""
|
|
|
|
Example that use memory transport for message produce.
|
|
|
|
"""
|
2022-04-14 11:02:52 +00:00
|
|
|
from __future__ import annotations
|
|
|
|
|
2016-09-24 17:45:49 +00:00
|
|
|
import time
|
|
|
|
|
2021-07-20 13:07:49 +00:00
|
|
|
from kombu import Connection, Consumer, Exchange, Queue
|
2016-09-24 17:45:49 +00:00
|
|
|
|
|
|
|
media_exchange = Exchange('media', 'direct')
|
|
|
|
video_queue = Queue('video', exchange=media_exchange, routing_key='video')
|
|
|
|
task_queues = [video_queue]
|
|
|
|
|
|
|
|
|
|
|
|
def handle_message(body, message):
|
2020-07-13 13:58:06 +00:00
|
|
|
print(f"{time.time()} RECEIVED MESSAGE: {body!r}")
|
2016-09-24 17:45:49 +00:00
|
|
|
message.ack()
|
|
|
|
|
|
|
|
|
|
|
|
connection = Connection("memory:///")
|
|
|
|
consumer = Consumer(connection, task_queues, callbacks=[handle_message])
|
|
|
|
|
|
|
|
producer = connection.Producer(serializer='json')
|
2021-07-20 13:07:49 +00:00
|
|
|
producer.publish(
|
|
|
|
{"foo": "bar"},
|
|
|
|
exchange=media_exchange,
|
|
|
|
routing_key='video',
|
|
|
|
declare=task_queues,
|
|
|
|
)
|
2016-09-24 17:45:49 +00:00
|
|
|
consumer.consume()
|
|
|
|
connection.drain_events()
|