Переходите на новый сайт Базы знаний. Актуализация контента происходит теперь там.

МАСТЕР - ПРОЦЕССЫ
Процесс - сущность, в которой можно объединить задачи, условия, очереди данных/сообщений и операции.
В раздел "Процессы" выводится список созданных Процессов.
Для добавления нового процесса нажать кнопку [+ Добавить процесс].
При добавлении нового процесса – откроется интерфейс "Конструктора процесса", в котором необходимо задать наименование процесса и создать диаграмму процесса из блоков, перетаскивая их из панели блоков.

В панели блоков элементы сгруппированны по разделам: Задачи, Очереди, Почта и т.д.
Общее описание рабочего пространства (холста):

Для добавления блока на холст, нужно перетащить его мышью из панели блоков.
Для настройки блока - необходимо дважды щелкнуть мышью по блоку - откроется окно настроек.
Удаление блоков и связей происходит по кнопке Delete.
Холст можно масштабировать с помощью комбинации Shift + колёсико мыши.

Возможно связывать выход блока с одним из входов последующего блока.
Связь со стрелкой показывает передачу потока управления и, иногда - данных.
Входов для блока может быть несколько - например, для блока Задача три входа - слева, вверху, внизу блока.
Выход(ы) расположен(ы) справа. Для Задачи различают Выход(OK), если задача завершается без ошибок, и Выход(Ошибка):
1. Блоки группы Базовые

1.1. Блок Задача

Для задачи возможно задать название, выбрать задачу из выпадающего списка задач.
Если для задачи настроены параметры Данных, то они отобразятся в секции "Параметры".
Параметры задачи – данная настройка позволяет переопределить, какие значения параметров будут отправлены роботу на исполнение. Источником значений для параметров могут быть данные Мастера (Data) или значения из предыдущих блоков (Block).
При достижении таймаута работы Задачи:
- задача останавливается со статусом TimedOut,
- и для блока задачи срабатывает красная ветка:

1.2. Блок Условие
Данный блок отвечает за проверку условия - True (Правда) или False (Ложь).
В блоке выбирается путь процесса: если выполняться все введённые условия - путь True, иначе будет выбран путь False.
В свойствах блока Условие есть возможность добавлять условия с выбором операции сравнения:

=
- равно
!= - не равно
> - больше
< - меньше
Contains - содержит
Starts with - начинается с
End with - заканчивается на
Параметры для условий берутся из результатов работы предыдущих блоков. Это может быть результат работы блока задач (результирующие значения параметров) или результат работы блока очередей (полученный элемент очереди).
1.3. Блок Параллельные задачи
Запускает задачи внутри блока параллельно.
Для корректной работы параллельного запуска необходимо, чтобы задачи имели разных агентов.
В этот блок можно добавить только блоки задачи, не имеющие связей с другими блоками. Работа блока считается завершённой, когда завершат работу все блоки задач, находящиеся внутри блока параллельного выполнения.
1.4. Блок HTTP-запрос
Блок служит для получения данных HTTP-запросом.
Настраиваются поля:
- URL запроса
- Метод запроса: выбрав из (Get / Post / Put / Delete)
- Тайм-аут запроса (в секундах)
- Тип содержимого: выбрав из (application/json или application/xml или text/xml)
- Тело запроса
- Параметры запроса, заполнив для каждого Имя и Значение параметра и указав - получать ли данные из текущего блока (тип Value) или из предыдущего блока (тип Block).
1.5 Блок [Счётчик] - для подсчета количества прохождений по ветке процесса
  • Соединение, созданное активностью Создать подключение к БД;
  • Название схемы базы данных;
  • Имя таблицы в БД, куда надо поместить данные;
  • Таблица с данными, которую надо поместить в БД;
  • Очистить таблицу - при true исходная таблица в БД удаляется;
  • Имя переменной, куда запишутся измененные записи - результат выполнения сохранения DataTable.
1.6 Блок "Установка счётчика"
Используется для задания счётчику определённого значения (обычно - для обнуления перед началом нового цикла/итерации). Пример процесса для организации нескольких попыток выполнения Задачи:

  • Если задача отработала с ошибкой (выход из блока Задачи через порт False) (F), то процесс проходит через блок со счётчиком (A), который добавляет +1 к переменной Счётчик (начальное значение = 0). После прохождения счетчика переменная проверяется блоком с условием, который в свою очередь направляет процесс после ожидания на повторное выполнение задачи (B) или при достижении заданного значения счетчика переходит в блок [Задача|Изменить статус] и далее [Обнуление счетчика] (С).
  • Если задача отработала корректно (выход из блока Задачи через порт True) (O), происходит обнуление значения Счётчика (С) для начала нового цикла выполнения задачи с заданным количеством попыток.
Особенность. При настройке блока [Установка счётчика] (D) необходимо выбрать для какого блок Счетчика (в процессе их может быть несколько) будет задано значение.

2. Блоки группы Очереди
2.1. Блок "Получить из очереди"

Ожидает появления элемента в указанной очереди. В случае появления передает актуальное значение элемента очереди дальше по процессу. Это значение затем можно использовать в блоке задачи или условия.
2.2. Блок "Добавить в очередь"
Добавляет элемент с параметрами (Ключ - Значение) в указанную очередь.

Для элемента возможно опционально задать поля:
- "Приоритет" ("Низкий", "Средний", "Высокий" ), который учитывается при обработке элементов очереди. По умолчанию устанавливается "Средний" приоритет.
Временное окно обработки элемента очереди данных:
- "Отложить до" - не обрабатывать до Дата-Время
- "Крайний срок" - не обрабатывать после Дата-Время, если строка очереди не была обработана до крайнего срока, то её статус будет изменен на Статус="TimeOut"
- "Ссылка" , которая учитывается при обработке элементов очереди; может использоваться для привязки транзакций, выполняемых роботом к сущностям/транзакциям другой системы, а также для группировки / отбора деталей очереди и других целей, определяемых разработчиком роботов. Если установлен признак "Ссылка должна быть уникальной", то при добавлении в очередь система проверит уникальность ссылки и при не уникальности не добавит элемент в очередь, записав в лог ошибку.
- "Комментарий" | Comment - строковое поле, которое может использоваться по усмотрению разработчика роботов.
2.3. Блок "Получить из RabbitMQ"
Предназначен для получения данных из очереди сообщений RabbitMQ
Настраивается следующим образом:
  • Название хоста - хост RabbitMQ без порта: http://10.10.10.10
  • Порт: 5672 - стандартный порт RabbitMQ
  • Пользователь и пароль – логин и пароль RabbitMQ
  • Виртуальный хост: в выпадающем списке справа вверху (либо не указывается)
  • Название очереди: название очереди из RabbitMQ
У блока "Получить из RabbitMQ" есть возможность использования зашифрованного соединения по протоколу AMQPS. Для этого в настройках блока установить:
  • чек-бокс "Использовать SSL";
  • чек-бокс "Отключить проверку сертификата";
  • порт = 5671.

Также возможно получать headers и properties свойства сообщения.
Обращение к этим свойствам в Процессе происходит через тег $ (P), либо через настройку параметров блока - например, в блоке "Задача" (T).


2.4. Блок "Получить из Kafka"
Предназначен для получения данных из брокера сообщений Kafka.
Настраивается следующим образом:
  • Сервер брокеров
  • Идентификатор группы клиента
  • Тема
3. Блоки группы Почта
Внимание: в настройках почты необходимо включить протокол IMAP.
3.1. Блок Почта \ Подтверждение
Заполняются поля: Почта получателя, Тема письма, Тело письма и добавляются поля с вариантами ответа.
3.2. Блок Почта - Мониторинг почты
Блок служит для отбора входящих писем в указанной папке по условиям.
В блоке настраиваются поле с Папкой почты и условия отбора (фильтрации) писем:
  • Отправитель содержит
  • Получатель содержит
  • Копия содержит
  • Тема содержит
  • Сообщение содержит
  • Отправлено от (дата)
  • Отправлено до (дата)
  • Вложение содержит (маска наименования файла)
3.3. Блок Почта - Отправить сообщение
Блок служит для отправки почтовых сообщений.
В блоке настраиваются поля для отправки электронного письма:
  • Email получателя
  • Тема письма
  • Тело письма
Блок "Ожидание"
В группе процессов "Базовые" существует блок "Ожидание" (W) для установки задержки перед выполнением следующего блока процесса.
Параметр "Время ожидания" устанавливается в секундах (T).
Значение в поле можно настроить как контролом со стрелками, так и ввести вручную.

Блок "Распределить для обработки"
Данный блок распределяет элементы очереди данных (D) для обработки задачами (T) из очереди задач с учетом нового параметра в задаче [Максимальное количество необработанных элементов очереди задач] (M).


Параметр [Максимальное количество необработанных элементов очереди задач] = 1 в задаче также возможно использовать для ограничения создания новых элементов очереди задач, если элемент с этой же задачей и статусом «New» в очереди уже есть. Эта функция не относится к обработке очередей данных, но может быть полезна с точки зрения управления очередями задач вообще.

Масштабирование обработки очереди данных.

Существует процесс с триггерами и параллельной обработкой очереди данных очередью задач.

Диаграмма процесса включает:
  • блок [Количество элементов > N] - для получения количества необработанных элементов очереди
  • и два блока [Распределить для обработки].
    Первый блок [Распределить 1] срабатывает, если есть необработанные элементы очереди, второй блок [Распределить 2] - по условию[если количество элементов очереди данных больше заданного параметра], при этом [Распределить 2] формирует элементы очереди задач с Задачей, отличной от блока [Распределить 1].
Таким образом, при достижении заданного порога по количеству необработанных элементов к их обработке подключается вторая задача.

Блок [Количество элементов > N] (Q) возвращает:
  • количество элементов в очереди данных;
  • ID очереди данных.
Настройка "Добавить ветку "Нет" при невыполнении условия" (G), добавляет порт False для пути процесса, если условие (Количество элементов очереди данных больше заданного) не выполняется.

Настройка может быть использована для остановки процесса, если для блока [Кол-во элементов > 0] количество элементов =0.

Доступно два режима работы блока "Кол-во элементов > N":
Режим-1. Проверка наличия N элементов в очереди данных с ожиданием - не отмечен чекбокс
[Добавить ветку "Нет" при невыполнении условия ☐] (G).
В этом случае процесс работает как и раньше, коннектор False - черный (E) и ветка "Нет" не отрабатывает.

Режим-2 (новый). Проверка наличия N элементов в очереди данных без ожидания - отмечен чекбокс
[Добавить ветку "Нет" при невыполнении условия ☑].
Если количество элементов в очереди данных больше заданного, то происходит выполнение по ветке "Да"; иначе - по ветке "Нет" (F). Особенность: если к коннектору False блок не присоединен, то процесс прерывается.


СОВМЕСТИМОСТЬ: Для неизменности работы процессов, созданных в версиях PIX Master ниже 1.25, по умолчанию чекбокс [Добавить ветку "Нет" при невыполнении условия o] не установлен ☐ . Блок будет проверять количество элементов очереди через заданное время и ждать пока условие [Кол-во элементов > N] не станет TRUE.

1.3. Управление доступом по Группам
Для процессов существует возможность назначать Группы. Это позволяет разграничивать доступ к отображению элементов в списке процессов:
  • если для Процесса задана Группа, то он будет отображаться в интерфейсе у пользователей, которым назначена эта Группа;
  • если Группа для Процесса не задана (пустая), то Процесс виден всем пользователям.