Поиск и создание потоков выполнения¶
Перечень стандартных потоков выполнения включен в официальный комплект поставки Юниверс MDM и отображается в левой части раздела "Потоки выполнения" (Рисунок 1).
При выборе нужного потока выполнения в основной части экрана отображается содержимое потока, который состоит из нескольких сегментов (частей потока).
При необходимости можно создать новый поток выполнения или добавить необходимый сегмент к уже существующему потоку.
Рисунок 1 - Пример отображения раздела "Потоки выполнения" и выбранного потока
Создание потоков выполнения¶
Перейдите в раздел "Потоки выполнения", если это не было сделано ранее.
Нажмите кнопку Создать, расположенную в нижней части списка потоков выполнения.
В результате откроется список стартовых сегментов, из которых нужно выбрать один.
Обязательно. Если сегмент не был выбран сразу, то задайте сегмент в области Start: нажмите кнопку "Выбрать сегмент" и выберите сегмент из списка.
Введите имя объекта в поле "Объект", расположенное над блоком стартовых сегментов.
Задайте сегмент типа Point, в котором будет выполняться основная логика потока. Для этого нажмите кнопку "Добавить сегмент", расположенную под областью "Start" и выберите требуемый сегмент.
При необходимости задайте сегмент типа Connector, через который будет подключаться новый поток выполнения. Для этого нажмите кнопку "Добавить сегмент", расположенную под областью "Start" и выберите требуемый сегмент.
Наличие сегментов Point и Connector зависит от выбранного стартового сегмента.
Сегментов типа Point и Connector может быть несколько.
Доступна настройка порядка запуска таких сегментов.
При необходимости задайте сегмент, который будет обрабатывать ошибку выполнения потока. Для этого в области Fallback нажмите кнопку "Выбрать сегмент" и выберите требуемый сегмент из списка.
Наличие такого сегмента зависит от выбранного стартового сегмента.
Обязательно. Задайте сегмент, которым будет завершаться поток выполнения. Для этого в области Finish нажмите кнопку "Выбрать сегмент" и выберите требуемый сегмент из списка.
Нажмите кнопку "Сохранить", расположенную в правом верхнем углу экрана.
Примечания:
Потоки выполнения с одинаковым именем, но с разными subjectId принимаются за разные сущности и используются для разных целей. Такие потоки могут иметь одинаковое имя и стартовый сегмент, но остальные сегменты могут быть разными.
Пример: поток без subjectId - [RECORD_UPSERT_START], с subjectId - [RECORD_UPSERT_START]${reindex-records-worker-pipeline}.
В коде можно заранее указать subjectId и получить поток выполнения по id + subjectId, а затем выполнить какое-то действие в этом потоке.
Если действие запрашивается по id потока выполнения, то стартовый сегмент сначала вычисляет subjectId по вводным данным.
Если в системе существует поток с полученным subjectId и указанным id, то используется он.
Если такого потока нет - то используется поток с пустым subjectId.
Например, сегмент RECORD_UPSERT_START вычисляет subjectId по имени реестра/справочника записи, которая вставляется. Таким образом для каждого реестра можно настроить свой поток выполнения.
Редактирование потока выполнения¶
Выберите требуемый поток выполнения, указанный в списке потоков.
Измените или удалите необходимые сегменты потока. Описание выбора сегментов см. выше.
Нажмите кнопку "Сохранить", расположенную в правом верхнем углу экрана.
Чтобы удалить поток выполнения, нажмите кнопку Удалить, расположенную в правом верхнем углу экрана.
Типы сегментов потока выполнения¶
Start. Сегмент, с которого будет начинаться поток выполнения. Все последующие сегменты потока предлагаются контекстно, в зависимости от выбранного стартового сегмента.
Point. Сегмент выполнения основной логики потока. Поток выполнения может содержать сразу несколько сегментов Point. Порядок запуска сегментов зависит от порядка их расположения.
Connector. Сегмент подключения новых потоков выполнения. Используется в случае, если в работе одного потока необходимо задействовать другой поток (например, в потоке получения записей использовать поток получения связей).
Selector. Сегмент ветвления стандартного потока на несколько других.
Fallback. Сегмент обработки ошибки выполнения потока. Запускается в случае, если основная логика потока (Start, Point и Connector) завершилась с ошибкой.
Finish. Сегмент, которым будет завершаться поток выполнения.
Примечания:
В сегментах с типом "Connector" можно просматривать и редактировать данные поля startId и subjectId.
Поиск потоков выполнения¶
Поиск потоков выполнения осуществляется с помощью поискового поля, расположенного над перечнем потоков выполнения.
Найти поток выполнения можно как по вводу ID его стартового сегмента (части и полностью), так и по человеко-читаемому описанию. Поиск регистронезависимый.
Кнопка "Фильтровать" активирует варианты фильтрации сегментов (Рисунок 2):
Стартовые сегменты. Поиск только среди стартовых сегментов (обозначены лейблом Start).
Все сегменты. Поиск среди сегментов всех типов.
Если кнопка "Фильтровать" неактивна, то поиск производится по стартовым сегментам.
Рисунок 2 - Панель поиска с выбором вариантов фильтрации