pgq-coop. Организация кооперативны х очередей сообщений
Версия: 3.4.
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты:
pgq
.Схема размещения:
pgq_coop
.
Описание
Опциональное расширение, реализованное на языке plpgsql
и предназначенное для организации кооперативных очередей. Для одного генератора сообщений могут присутствовать несколько получателей.
Функции
Функция | Входные параметры | Описание |
---|---|---|
finish_batch | i_batch_id, int8 | Завершает сеанс по его идентификатору batch_id . Решение принимается солидарно для каждого отдельного получателя |
next_batch | - i_queue_name, text ; - i_consumer_name, text ; - i_subconsumer_name, text \[i_dead_interval interval\] | Предоставляет информацию о сеансе для получателя. Аналог фу нкции pgq.next_batch |
next_batch_custom | - i_queue_name, text ; - i_consumer_name, text ; - i_subconsumer_name, text ; - i_min_lag, interval ; - i_min_count, integer ; - i_min_interval, interval, \[i_dead_interval, interval\] | Предоставляет расширенную информацию о сеансе. Аналог функции pgq.next_batch_custom |
register_subconsumer | - i_queue_name, text ; - i_consumer_name, text ; - i_subconsumer_name, text ; - i_subconsumer_name, text | Регистрирует получателя сообщения в очереди |
unregister_subconsumer | - i_queue_name, text ; - i_consumer_name, text ; - i_subconsumer_name, text ; - i_batch_handling, integer | Отменяет регистрацию получателя |
Доработка
Доработка не проводилась.
Ограничения
Требуется предварительная установка расширения pgq
.
Установка
Установка расширения (ОС «Альт», Astra Linux):
sudo apt-get install /usr/pangolin-6.3/3rdparty/pgq_coop/pangolin-pgq-coop-3.4-{OS}.x86_64.rpm -y
Для других ОС:
sudo dnf install /usr/pangolin-6.3/3rdparty/pgq_coop/pangolin-pgq-coop-3.4-{OS}.x86_64.rpm -y
Модуль считается «доверенным», поэтому его могут устанавливать пользователи, имеющие право CREATE
в текущей базе данных:
CREATE EXTENSION pgq_coop;
Настройка
Настройка не требуется.
Ссылки на документацию разработчика
Функции расширения PgQ-coop: https://github.com/pgq/pgq-coop.