Запуск нескольких проектов в рамках одного пайплайна

DVT умеет запускать подпроекты в рамках одного проекта.

В данной статье продемонстрировано как это сделать на примере выгрузки лидов и выгрузки задач, их времени, истории и результатов из Битрикс24.

Итак, приступим. Создаем новый проект с помощью кнопки «+ Создать проект».

В открывшемся окне задаем ему наименование и нажимаем «+ Создать».

Для данного проекта будем использовать ноду Execute Project. Добавляем ее в рабочую и переходим к настройке:

  • в поле «Целевой проект» выбираем проект «Выгрузка лидов из Б24»;

  • для удобства переименовываем ноду, назовем ее «Leads»;

  • активируем переключатель «Ожидать выполнение» и устанавливаем время ожидания «3600»

  • нажимаем «Сохранить».

Аналогичным образом добавляем второй подпроект для запуска его в рамках текущего проекта:

  • Целевой проект: Task: задачи, время, результаты, история;

  • Наименование ноды: Tasks;

  • активируем переключатель «Ожидать выполнение», время ожидания: 3600;

  • нажимаем «Сохранить».

Последовательное выполнение проектов

Соединяем наши ноды запуска проектов. В таком случае, выполнение проектов будет последовательным: сначала «Leads», затем «Tasks».

Успешное завершение и ошибка подпроекта

Чтобы следующий проект запускался только после успешного завершения первого, включите у первой Execute Project «Ожидать выполнение» и соедините её выход успешного выполнения со входом управляющего сигнала следующей ноды.

Для обработки ошибки используйте отдельный выход signal_error первой Execute Project. Подключите его к ноде, которая запишет сообщение в журнал или выполнит альтернативное действие. Для получения текста ошибки передайте также переменные и прочитайте input_variables["__dvt_error_text"] в Execute Python.

EXEC-03

Успешный выход Leads запускает Tasks. Ошибка и её текст передаются обработчику.

Conditional Signal Router нужен для проверки заданного логического условия. При condition=true он выбирает then_signal, при false — else_signal. Постоянное значение true не проверяет результат подпроекта и не направляет его ошибку в else_signal.

Подробные инструкции: Execute Project и обработка ошибок.

Для ожидания подпроекта требуются минимум два работающих воркера. Если DVT сообщает о недостаточной ёмкости для вложенного ожидания, попросите администратора проверить воркеры.

При необходимости вы можете установить расписание для выбранного проекта. Для этого необходимо зайти в настройки DVT по кнопке , открыть раздел «Shedule Projects» и нажать «+ Создать запуск»

В открывшемся окне выбрать нужный проект и установить необходимое расписание.