Skip to Content
Руководство администратораШаблоны миссийПостроение workflow шаблона миссии

Построение workflow шаблона миссии

Workflow — это граф выполнения миссии. Действия задают начало, условия, завершение и промежуточные операции, а соединения — порядок переходов. Редактор сохраняет не только состав действий, но и их настройки, связи и положение на схеме.

Основные элементы редактора

  • Рабочая область — место размещения и соединения действий.
  • Управление шаблоном - кнопки запуска миссии, сохранения, восстановления сохраненой версии и меню с дополнительными действиями над шаблоном.
  • Отмена / повтор — кнопки в левом верхнем углу.
  • Масштаб и вписывание графа — стандартные кнопки в левом нижнем углу.
  • Мини-карта — навигация по большой схеме в правом нижнем углу.
  • Кнопка + — выбор стартового триггера или открытие панели действий.
  • Панель действий — группы доступных действий, поиск по названию и сервису. Назначение действий описано в статье «Справочник действий WorkFlow».
  • Панель настроек — открывается при выборе действия.

1. Добавьте действие «Начало»

Каждый сохраняемый workflow должен содержать действие Начало. Действие «Начало» — обязательный узел схемы. Способ запуска шаблона задаётся его триггером.

  1. На пустой схеме нажмите «Добавить стартовое действие» или кнопку +.
  2. Выберите подходящий тип триггера.
  1. Выбор создаёт действие «Начало». Действие «Начало» в одном workflow используется только один раз. Если удалить «Начало», редактор снова предложит выбрать стартовый триггер. Без этого действия сохранение невозможно.
  2. Настройте триггер, если у выбранного типа триггера имеются настройки

5. При необходимости задайте входные параметры миссии.

2. Добавьте действия

После добавления действия «Начало» кнопка + открывает панель действий.

  1. Выберите группу или введите часть названия действия в строке поиска.
  2. Захватите нужное действие мышью.
  3. Перетащите его из панели действий в нужное место рабочей области.
  4. Повторите операцию для остальных действий.

Действия привязываются к сетке, поэтому их удобно выстраивать сверху вниз или слева направо. Большую схему можно перемещать и масштабировать; кнопка вписывания показывает все размещённые на рабочей области действия.

3. Настройте действие

Подробнее о настройке действий смотрите в статье Параметры действий «Workflow». Состав обязательных полей и допустимые значения определяется типом действия. Ошибки формы и неизвестные переменные проверяются при сохранении.

4. Соедините действия

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

Поддерживаются выходы:

  • основной — успешное продолжение;
  • if true и if false — результаты действия «Если»;
  • error — переход при ошибке, если он предусмотрен действием.

Целевой порт обычного перехода — основной вход действия. Нельзя соединить действие само с собой или вести новое соединение из действия «Ошибка». Стрелка показывает направление выполнения.

Чтобы удалить связь, наведите указатель на линию и нажмите появившийся значок ×. После изменения проверьте, что каждая нужная ветка достижима от действия «Начало» и имеет понятное завершение.

5. Организуйте ветвление и завершение

Ошибочное завершение

Используйте действие Ошибка, когда ветка должна явно завершить миссию ошибкой. После «Ошибки» продолжение невозможно.

Успешный результат

Используйте действие Вернуть результат, чтобы штатно вернуть итог выполнения, в том числе вызывающему workflow с триггером Child.

Работа с ресурсами

Если workflow резервирует ресурс действием Зарезервировать..., предусмотрите соответствующее Освободить... во всех ветках, где ресурс больше не нужен, включая обработку ошибок.

Быстрые действия и горячие клавиши

При наведении на действие появляются кнопки:

  • Дублировать — создаёт копию ниже исходного действия с новым ID; соединения не копируются;
  • Удалить — удаляет действие и все связанные с ним линии.

Действие «Начало» дублировать нельзя.

Доступны горячие клавиши, когда курсор не находится в текстовом поле или редакторе выражений:

ДействиеWindows / LinuxmacOS
ОтменитьCtrl+ZCmd+Z
ПовторитьCtrl+Y или Ctrl+Shift+ZCmd+Y или Cmd+Shift+Z
СохранитьCtrl+SCmd+S
Удалить выбранное действиеDelete или BackspaceDelete или Backspace

Кнопки отмены и повтора становятся недоступными, если соответствующей операции нет в истории.

Пример: отправка робота с учётом приоритета

Предположим, действие «Начало» содержит параметры:

  • target_point — обязательный ID точки;
  • priority — целое число от 1 до 10;
  • notify — необязательное логическое значение.

Постройте схему:

  1. В действии «Если» задайте условие $params.priority >= 8.
  2. Выход if true подключите сразу к действию Транспортный ордер.
  3. Выход if false подключите к действию Пауза, а затем к Транспортный ордер.
  4. В поле точки назначения обоих действий «Транспортный ордер» включите режим выражения и укажите $params.target_point.
  5. Основные выходы «Транспортного ордера» подключите к действию «Вернуть результат».
  6. Если у действия доступен выход error, подключите его к действию «Сообщение в лог» и затем к «Ошибка» либо сразу к «Ошибка».
  7. Сохраните workflow и выполните тестовый запуск с высоким и обычным приоритетом.

Такой шаблон миссии отправляет срочное задание сразу, а обычное — после заданной задержки.

Сохранение

При сохранении редактор проверяет:

  • наличие действия «Начало»;
  • обязательные параметры действий и соответствие их схемам;
  • допустимость имён входных параметров;
  • известность переменных в выражениях.

Действия с ошибками выделяются. Откройте такое действие, исправьте перечисленные поля и повторите сохранение. Сервер может вернуть дополнительные ошибки; они также привязываются к соответствующим действиям, если это возможно.

Контрольный список

Перед активацией шаблона проверьте:

  • действие «Начало» настроено и соответствует способу запуска;
  • все обязательные параметры действий заполнены;
  • у действия «Если» подключены нужные ветки;
  • ошибки действий обработаны там, где это необходимо;
  • зарезервированные ресурсы освобождаются во всех ветках;
  • коды действий понятны, а $nodes и $params не содержат неизвестных путей;
  • лишние и недостижимые действия удалены;
  • схема сохранена и проверена тестовым запуском.