Руководство пользователя
Описание
RMQaio - библиотека для удобной работы с RabbitMQ.
Установка
Состав библиотеки
Библиотека включает в себя всего несколько классов:
-
класс
Connection
для создания умного подключения с переподключением и возможностью восстановления топологии созданных объектов(обменников, очередей, привязок и тд) в случае обрыва соединения.Для каждой комбинации
EventLoop
, имя подключения и URL(список URL) создается всего одно сетевое подключение к RabbitMQ. -
класс обменника
SimpleExchange
. Используется как обменник по умолчанию либо же как обменник, созданный в другом приложении. -
класс обменника
Exchange
. Позволяет создавать нужный обменник и удалять его по необходимости. -
класс очереди
Queue
. Позволяет создавать нужную очередь, привязывать её к обменнику и слушать поступающие в эту очередь сообщения.
Пример использования
from rmqaio import Connection, Exchange, Queue
conn = Connection("amqp://localhost", name="ABC")
exchange = Exchange(name="Test", conn=conn)
await ex.declare(restore=True)
queue = Queue(name="Test", conn=conn)
await queue.declare(restore=True)
await queue.bind(exchange, routing_key="abc", restore=True)
async def callback(channel, msg):
print("Получено сообщение:", msg)
await queue.consume(callback)
data = "Привет!"
await exchange.publish(data.encode(), routing_key="abc")
await queue.close(delete=True)
await exchange.close(delete=True)
await conn.close()