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.

Установка#

Установка расширения (ALT SP8, 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.