Show/Hide Toolbars

Руководство администратора

Очереди событий предназначены для лучшего контроля обработки событий. Как правило, очереди используются при интеграции с внешними системами. Очереди состоят из потоков. Потоки удобно использовать для разделения событий из разных систем или разнородных событий из одной системы. Выполнение событий фиксируется в журнале очередей и журнале потоков.

В очередь могут попадать входящие и исходящие события.

Исходящее событие инициируется внутри системы "Первая Форма". Для этого должен выполниться пакет действий, в котором содержится смарт-действие "Добавить новое событие в очередь" — оно добавляет в указанный поток запись с нужными параметрами.

Входящее событие инициируется внешней системой. Для обработки входящих событий в "Первой Форме" настраиваются кастомные действия и к ним привязываются пакеты действий.

Обработка очереди запускается заданием по таймеру QueueEventsJob.

Потоки

На вкладке Потоки можно создать потоки и настроить стратегию их обработки.

thread_list_new

Список потоков

Параметр

Описание

Id

Уникальный Id потока

Название потока

Название потока

Неудачных попыток до полной остановки

Количество неудачных попыток. После того, как счетчик достигнет этой цифры, обработка потока будет остановлена.

Поведение в случае ошибки

Поведение в случае ошибки. Возможные значения: "Пропускать", "Останавливать".

Если выбрано значение "Пропускать" в случае возникновения ошибки в очереди, обработка остальных событий не прекращается. Счетчик неудачных попыток при этом увеличен не будет.

Если выбрано значение "Останавливать" в случае возникновения ошибки при обработке одного из событий обработка остальных событий прекращается и увеличивается счетчик неудачных попыток. Администратор должен удалить ошибочное событие из очереди или исправить ошибку (объект, над которым выполняется действие) и запустить выполнение события вручную.

Есть ошибки

Наличие флажка означает, что в потоке есть ошибки обработки очереди

 

Произвольные события

На вкладке Произвольные события можно создать события, к которым потом будут привязываться смарт-пакеты (по аналогии с произвольными событиями в категориях).

custom_events_list_new

Список кастомных событий

Параметр

Описание

Id

Уникальный Id события

Название события

Название события

Описание

Описание действия в свободной форме

Привязки кастомных действий

На вкладке Привязки действий к событиям можно привязать смарт-пакет к системному или кастомному событию.

custom_event_packs_list_new

Список привязок пакетов действий к событиям

Параметр

Описание

Название события

Событие, при наступлении которого вызывается пакет действий

Smart фильтр

Условия, при которых пакет действий выполняется. Если смарт-фильтр не задан, то условия не проверяются, и пакет действий выполняется всегда

Пакет действий

Пакет, который выполняется при наступлении события

Системные события, к которым можно привязать пакеты действий

Событие

Описание

ChangeEdocumentStatus

Изменился статус электронного документа в системе Диадок

ReceiveNewEdocument

Получен новый электронный документ через систему Диадок

Пример использования очереди событий

Пример использования очереди исходящих событий

Пример: Массовая рассылка сообщений, инициируемая внутри системы "Первая Форма".

Порядок действий:

1. На вкладке Потоки создайте поток по кнопке + и настройте стратегию его обработки.

example_queue_mailing_

Окно создания потока

2. На вкладке Кастомные события создайте событие, к которому будет привязан смарт-пакет

example_queue_mailing_2_

Поля создания кастомного события

3. На вкладке Привязки действий к событиям привяжите смарт-пакет к кастомному событию

example_queue_mailing_3

Пример привязки действия к кастомному событию

4. Создайте пакет действий, в котором содержится смарт-действие "Добавить новое событие в очередь".

example_queue_mailing_4

Пример создания смарт-днйствия "Добавить новое событие в очередь"

Пример использования очереди входящих событий

Пример: Изменение статуса документа в системе Диадок.

Порядок действий:

1. На вкладке Привязки действий к событиям привяжите действие к системному событию ChangeEdocumentStatus.

2. В пакете действий настройте смарт-действие "Выполнить смарт-скрипт".

example_queue_diadoc

Пример привязки действия к системному событию ChangeEdocumentStatus

В скрипте нужно проверить сообщение, присылаемое Диадоком, и в зависимости от него перевести задачу в нужный статус.

Контекст события

Пример Lua-скрипта для события ChangeEdocumentStatus