README.md

rmq_client

Библиотека для облегчения работы с RabbitMQ.

Абстрагирует операции настройки топологии и отправки/приёма сообщений. Предоставляет поведение для consumer’а и сервер publisher’а. Для создания сообщений используются записи #rmq_msg{} и #rmq_msg_props{}, последняя соответствует #'P.basic'{} из официальной библиотеки rabbit_common. Для использования этих и других определений необходимо включить файл include/rmq_client.hrl:

-include_lib("rmq_client/include/rmq_client.hrl").

Для использования поведения consumer’а необходимо создать callback-модуль, реализующий поведение rmq_gen_consumer:

-behaviour(rmq_gen_consumer).

Тело сообщения должно быть в формате JSON. В качестве значений свойств correlation_id и message_id используется UUID. Если эти свойства не установлены пользователем, они устанавливаются автоматически. Это же верно в отношении свойства timestamp. Его значение - результат функции erlang:system_time(microsecond) (erlang:system_time/1)

Настройка производится через файл конфигурации, пример которого находится в файле config/sys.config.

Сборка

$ rebar3 compile

Документация

$ rebar3 edoc

Далее в браузере открыть файл doc/index.html.

Подключение

В rebar.config добавить зависимость:

{deps, [
    {rmq_client, {git, "https://gitflic.ru/project/dzol/rmq-client.git", {tag, "0.10.1"}}}
]}.

Запуск с примером конфигурации

$ rebar3 shell

Должен быть доступен сервер RabbitMQ по адресу 127.0.0.1:5672.

Статический анализ

$ rebar3 dialyzer
Описание

Клиент для RabbitMQ

Конвейеры
0 успешных
0 с ошибкой