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()