29 lines
836 B
Python
29 lines
836 B
Python
import asyncio
|
|
import json
|
|
from functools import partial
|
|
|
|
from aio_pika import connect
|
|
from aio_pika.abc import AbstractIncomingMessage
|
|
|
|
|
|
async def on_message(message: AbstractIncomingMessage, queue) -> None:
|
|
async with message.process():
|
|
await queue.put(json.loads(message.body))
|
|
print(f" Message body is: {message.body!r}")
|
|
|
|
|
|
async def get_messages(inner_queue) -> None:
|
|
async with await connect("amqp://guest:guest@localhost/") as connection:
|
|
channel = await connection.channel()
|
|
await channel.set_qos(prefetch_count=1)
|
|
|
|
queue = await channel.declare_queue(
|
|
"hello",
|
|
durable=True,
|
|
)
|
|
|
|
await queue.consume(partial(on_message, queue=inner_queue))
|
|
|
|
print(" [*] Waiting for messages. To exit press CTRL+C")
|
|
await asyncio.Future()
|