Очереди событий предназначены для лучшего контроля обработки событий. Как правило, очереди используются при интеграции с внешними системами. Очереди состоят из потоков. Потоки удобно использовать для разделения событий из разных систем или разнородных событий из одной системы. Выполнение событий фиксируется в журнале очередей и журнале потоков.
В очередь могут попадать входящие и исходящие события.
Исходящее событие инициируется внутри системы "Первая Форма". Для этого должен выполниться пакет действий, в котором содержится смарт-действие Добавить новое событие в очередь — оно добавляет в указанный поток запись с нужными параметрами.
Входящее событие инициируется внешней системой. Для обработки входящих событий в "Первой Форме" настраиваются кастомные действия и к ним привязываются пакеты действий.
Обработка очереди запускается заданием по таймеру QueueEventsJob.
На странице Потоки можно создать потоки и настроить стратегию их обработки.
Список потоков
Для добавления нового потока нажмите кнопку Создать и в открывшемся окне заполните обязательные поля.
Создание потока
Настройки потока:
Параметр |
Описание |
---|---|
ID |
Уникальный идентификатор потока, заполняется автоматически |
Название потока |
Название потока |
Неудачных попыток до полной остановки |
Количество неудачных попыток. После того, как счетчик достигнет этой цифры, обработка потока будет остановлена. |
Поведение в случае ошибки |
Поведение в случае ошибки. Возможные значения: "Пропускать", "Останавливать". Если выбрано значение "Пропускать" в случае возникновения ошибки в очереди, обработка остальных событий не прекращается. Счетчик неудачных попыток при этом увеличен не будет. Если выбрано значение "Останавливать" в случае возникновения ошибки при обработке одного из событий обработка остальных событий прекращается и увеличивается счетчик неудачных попыток. Администратор должен удалить ошибочное событие из очереди или исправить ошибку (объект, над которым выполняется действие) и запустить выполнение события вручную. |
Есть ошибки |
Наличие флажка означает, что в потоке есть ошибки обработки очереди
|
Для редактирования существующего потока нажмите на него в списке.
Редактирование потока
Для удаления потока нажмите кнопку Удалить на форме редактирования или выберите пункт Удалить в контекстном меню строки.
На странице Очереди событий можно создать события, к которым потом будут привязываться смарт-пакеты (по аналогии с произвольными событиями в категориях).
Список очередей событий
Для добавления новой очереди нажмите кнопку Создать и в открывшемся окне заполните название и описание очереди.
Создание очереди
Настройки очереди:
Параметр |
Описание |
---|---|
ID |
Уникальный идентификатор события, заполняется автоматически |
Название события |
Название события |
Описание |
Описание действия в свободной форме |
Для редактирования существующей очереди нажмите на нее в списке.
Редактирование очереди
Для удаления очереди нажмите кнопку Удалить на форме редактирования или выберите пункт Удалить в контекстном меню строки.
На странице Привязки действий к событиям можно привязать смарт-пакет к системному или кастомному событию. Пакеты действий на странице по умолчанию сгруппированы по названию события. Вы можете изменить порядок пакетов в рамках одного события с помощью перетаскивания.
Список привязок пакетов действий к событиям
Для создания новой привязки действия нажмите кнопку Создать и в открывшемся окне выберите очередь и пакет действий. При необходимости укажите фильтр.
Форма создания привязки
Настройки привязки:
Параметр |
Описание |
---|---|
Название события |
Событие, при наступлении которого вызывается пакет действий |
Smart фильтр |
Условия, при которых пакет действий выполняется. Если смарт-фильтр не задан, то условия не проверяются, и пакет действий выполняется всегда |
Пакет действий |
Пакет, который выполняется при наступлении события |
Для редактирования привязки выберите пункт Редактировать в контекстном меню строки.
Контекстное меню строки
В открывшемся окне внесите изменения и нажмите кнопку Сохранить.
Редактирование привязки
Для удаления привязки выберите пункт Удалить в контекстном меню строки.
Системные события, к которым можно привязать пакеты действий
Событие |
Описание |
---|---|
ChangeEdocumentStatus |
Изменился статус электронного документа в системе Диадок |
ReceiveNewEdocument |
Получен новый электронный документ через систему Диадок |
Пример использования очереди событий
Пример использования очереди исходящих событий
Пример: Массовая рассылка сообщений, инициируемая внутри системы "Первая Форма".
Порядок действий:
1. На странице Потоки создайте поток по кнопке + и настройте стратегию его обработки
2. На странице Очереди событий создайте событие, к которому будет привязан смарт-пакет
3. На странице Привязки действий к событиям привяжите смарт-пакет к кастомному событию
4. Создайте пакет действий, в котором содержится смарт-действие Добавить новое событие в очередь
Пример использования очереди входящих событий
Пример: Изменение статуса документа в системе Диадок.
Порядок действий:
1. На странице Привязки действий к событиям привяжите действие к системному событию ChangeEdocumentStatus.
Пример привязки действия к системному событию ChangeEdocumentStatus
2. В пакете действий настройте смарт-действие "Выполнить смарт-скрипт".
Смарт-действие
В скрипте нужно проверить сообщение, присылаемое Диадоком, и в зависимости от него перевести задачу в нужный статус.