Перейти к основному содержимому
Версия: 1.0.4

Django-RMQ Общее

Что такое Django-RMQ в двух словах​

Django-RMQ предоставляет обёртки и инструменты для работы с RabbitMQ в Django-проектах через Pika.

Это не полноценная очередь задач и не замена Celery. Это лёгкий интеграционный слой для проектов, которым нужно публиковать сообщения, потреблять сообщения и держать инфраструктурный код RabbitMQ в порядке внутри Django-приложения.

Обзор возможностей​

  • Конфигурация — RABBITMQ_CONNECTIONS в settings.py; одна запись на каждый alias брокера.
  • Продюсеры — публикация сообщений, режим декоратора, персистентная доставка, publisher confirms.
  • Консьюмеры — регистрация обработчиков, явный ack/nack, экспоненциальная задержка переподключения.
  • Топология — QueueConfig, функции настройки, dead-letter routing.
  • Реестры — ConsumersRegistry и SetupRegistry для каждого alias.
  • Management-команды — setup_rabbitmq_topology и start_consumers.
  • Надёжность — доставка at-least-once, mandatory routing, самовосстановление продюсера, DLX.
  • Несколько подключений — несколько alias'ов брокера через параметр using=.
  • Справочник API — полные сигнатуры и описание параметров для каждого публичного символа.
  • Тестирование — юнит-тесты с замоканным Pika; интеграционные тесты с реальным брокером.

Установка​

Установите пакет:

pip install django-rmq

Добавьте 'django_rmq' в INSTALLED_APPS и добавьте блок RABBITMQ_CONNECTIONS в settings.py. Смотрите руководство Начало работы для минимальной конфигурации.

Тестирование​

Смотрите страницу Тестирование для инструкций по запуску юнит- и интеграционных тестов.