Подпроцесс — это воркфлоу, вызываемый из другого воркфлоу. Такой подход позволяет:
- строить модульные и микросервисоподобные воркфлоу,
- разбивать большие воркфлоу на части, чтобы избежать проблем с памятью,
- повторно использовать логические блоки в разных воркфлоу.
В Нейро42 для создания подпроцесс используются узлы: Execute Workflow и Execute Sub-workflow Trigger.
Вызовы подпроцесс не учитываются в лимите ежемесячных запусков или активных воркфлоу вашего плана.
Создание подпроцесса
Новый подпроцесс
Создайте отдельный воркфлоу, который станет подпроцесс.
Подпроцесс из существующего воркфлоу
Вы можете конвертировать существующие узлы в подпроцесс через Execute Sub-workflow node или контекстное меню “Преобразование подворкфлоу”.
Настройте, какие воркфлоу могут вызывать этот подпроцесс:
- Откройте Опции — Настройки в настройках воркфлоу.
- Измените параметр “Этот воркфлоу может быть вызван”.
Настройка триггера подпроцесс
- Добавьте узел Execute Sub-workflow Trigger (или “When Executed by Another Воркфлоу”).
- Выберите режим ввода данных:
- Определить, используя поля — определите отдельные поля и их типы, которые должен передать вызывающий воркфлоу.
- Определить, используя JSON пример — предоставьте пример JSON с ожидаемыми данными.
- Принять все данные — подпроцесс принимает любые данные без строгих требований.
- Добавьте остальные узлы для выполнения функционала подпроцесс.
- Сохраните воркфлоу.
Если в подпроцесс есть ошибки, родительский воркфлоу не сможет его вызвать.
Загрузка данных для конфигурации подпроцесс
Чтобы настроить подпроцесс на основе реальных данных:
- Создайте подпроцесс и добавьте триггер Execute Sub-workflow Trigger.
- Настройте режим ввода данных (Принять все данные или через поля/JSON).
- В настройках подпроцесс включите “Сохранять успешные выполнения в режиме продакшена”
- Запустите родительский воркфлоу для передачи данных.
- Подгоните режим ввода данных под реальный формат.
- Используйте функцию pin example data в триггере, чтобы работать с реальными примерами при настройке воркфлоу.
Вызов подпроцесс из родительского воркфлоу
- Откройте воркфлоу, который будет вызывать подпроцесс.
- Добавьте узел Execute Sub-workflow.
- Укажите подпроцесс, которое нужно вызвать:
- по ID воркфлоу,
- загрузив воркфлоу из локального файла,
- передав JSON как параметр,
- или по URL воркфлоу.
- Заполните все необходимые входные данные, определенные в подпроцесс.
- Сохраните воркфлоу и выполните его.
Вы можете отслеживать выполнение воркфлоу через ссылку View sub-execution в Execute Sub-workflow node. Обратная навигация также доступна из подпроцесс к родительскому воркфлоу.
Пример передачи данных между воркфлоу
- В Воркфлоу A есть узел Execute Sub-workflow, который вызывает Воркфлоу B.
- Execute Sub-workflow передаёт данные в триггер Execute Sub-workflow Trigger Воркфлоу B.
- Последний узел Воркфлоу B отправляет данные обратно в Execute Sub-workflow Воркфлоу A.
Таким образом, данные бесшовно проходят между родительским воркфлоу и подпроцесс.
Конвертация в подпроцесс
- Для разделения существующего воркфлоу на подпроцесс используйте функцию Sub-workflow conversion.
- Это помогает создавать модульные и легко управляемые воркфлоу.