Создать процесс (Dag)

Описание
Блок предназначен для создания процесса (DAG), который загружается на сервер оркестратора Airflow и представляет собой набор инструкций выполняемых оркестратором.
Описание параметров
Блок имеет несколько основных параметров:
-
Наименование - уникальный идентификатор процесса, отображаемый в веб-интерфейсе оркестратора;
Тип данных:
строка
Пример:
puzzle_robot
-
Описание - краткое описание процесса для отображения в интерфейсе оркестратора;
Тип данных:
строка
Пример:
Робот по созданию актов в 1С.
-
Дата отсчета интервала - дата, с которой нужно начинать планирование запуска процесса;
Тип данных:
строка
Пример:
01.01.2025
-
Время запуска - интервалы запуска, указываемые в виде cron-выражения. Проверить или составить cron-выражения можно с помощью сервиса: https://crontab.guru/;
Тип данных:
cron-строка
Пример:
*/30 08-19 * * 1-5
-
Одновременный запуск процессов - максимальное количество одновременных запусков процесса;
Тип данных:
число
Пример:
3
-
Теги - параметр для сортировки процессов через web-интерфейс оркестратора. Для одного процесса можно указать несколько тегов;
Тип данных:
список строк
Пример:
['Пример', '1С']
-
Аргументы по умолчанию:
- owner - владелец процесса;
Тип данных:
строка
Пример:
Puzzle RPA
- depends_on_past - стоит ли инициировать запуск следующего процесса, если предыдущий процесс в цепочке операций завершился с ошибкой;
Тип данных:
логический (boolean)
Пример:
Истина
- email - список адресов электронной почты, для уведомлений о статусе выполнения;
Тип данных:
список строк
- email_on_failure - нужно ли отправлять уведомления на адрес электронной почты в случае неудачного выполнения;
Тип данных:
логический (boolean)
Пример:
Истина
- retries - количество попыток повторного выполнения процесса в случае его неудачного завершения;
Тип данных:
число
Пример:
3
- retry_delay - время задержки перед повторным выполнением робота в случае его неудачного завершения;
Тип данных:
число
Пример:
30
- pool - параметр для управления очередями между различными процессами оркестратора;
Тип данных:
строка
Пример:
default_pool
- trigger_rule - правила запуска нижестоящих роботов:
Тип данных:
строка
Пример:
all_success
- all_success (по умолчанию) - все вышестоящие роботы выполнены успешно;
- all_failed - все вышестоящие роботы находятся в состоянии неудачно;
- all_done - все вышестоящие роботы завершились (успешно или неудачно);
- all_skipped - все вышестоящие роботы пропущены (skipped);
- one_failed - если хотя бы один из его предыдущих роботов завершился неудачно;
- one_success - если хотя бы один из его предыдущих роботов завершился успешно;
- one_done - если хотя бы один из его предыдущих роботов завершился успешно или не успешно;
- none_failed - все вышестоящие роботы выполнены успешно или были пропущены;
- none_failed_or_skipped - все вышестоящие роботы не завершились неудачей и хотя бы один робот завершился успешно;
- none_skipped - ни один вышестоящий робот не находится в состоянии пропущена.
- owner - владелец процесса;
-
Выполнять пропущенные процессы - если значение параметра установлено в True, то все задачи, которые должны были быть выполнены в прошлом, будут выполнены при запуске процесса. Если значение параметра установлено в False, то только текущие и будущие задачи будут выполнены.
Тип данных:
логический (boolean)
Пример:
Истина
-
Роботы - разъем, который определяет, какие роботы будут выполнятся процессом.
Тип данных:
Блоки функциональных действий студии разработки Puzzle RPA
Допускается использование блоков:
-
Порядок выполнения роботов - объявление зависимостей отдельных роботов.
Тип данных:
строка
Пример:
Robot_1() >> Robot_2()
Пример использования
Для использования созданного робота в оркестраторе Airflow, необходимо сохранить процесс (процессы) как Python-скрипт.
В данном примере алгоритм робота сохранен как проект Python-скриптов с названием my_project:
-
Создается процесс для оркестратора с задачей Запуск робота;
-
Название/ID робота - указано значение
Robot_1
, как ID запуска в созданном процессе (DAG); -
Путь к роботу на сервере - указан путь до директории проекта на сервере Airflow;
-
Название главного процесса - указано название главного Python-скрипта с расширением в проекте;
-
Директория используемой студии - указан путь до установленной студии Puzzle RPA;
-
Порядок выполнения роботов - указано значение
Robot_1()
, что свидетельствует о наличии единственной задачи — Запустить робота с IDRobot_1
.

Результат
Дерево действий в пользовательском интерфейсе Airflow:
