Перейти к содержимому

Сохранение созданного процесса (Dag)

Процесс DAG (Directed Acyclic Graph) в Airflow - это смысловое объединение задач, которые необходимо выполнить в строго определённой последовательности согласно указанному расписанию.

Создание процесса (DAG)

Процесс для оркестратора собирается в отдельном процессе проекта блоком Создать процесс (Dag): в нём задаются идентификатор процесса, расписание, аргументы по умолчанию и список роботов.


Сохранение процесса (DAG) как Python-скрипта

Для сохранения созданного процесса необходимо:

  1. Открыть Настройки проекта в меню студии и перейти в раздел Окно выполнения;
  2. В блоке Состояние отключить параметр Отображать окно и сохранить настройки - робот, который выполняется оркестратором на удалённой машине, не должен показывать окно выполнения; image_1
  3. Перейти на процесс с блоком Создать процесс (Dag);
  4. Открыть раздел Процесс кнопкой на панели инструментов справа; image_2
  5. Для генерации Python-скрипта выполнить клик по кнопке Сгенерировать; image_3
  6. Для запуска процесса сохранения выполнить клик по кнопке Сохранить; image_4
  7. Выбрать тип сохранения Python-скрипт и выполнить клик по кнопке Сохранить; image_5
  8. Откроется папка с сохранённым процессом (DAG) как Python-скрипт. image_6

Переименование DAG-файла

Имя файла рекомендуется привести к параметру Наименование блока Создать процесс (Dag) - идентификатору процесса в оркестраторе. Символы, недопустимые в именах файлов, заменяются на подчёркивание: для наименования robot-puzzle-rpa файл называется robot_puzzle_rpa.py.


Загрузка на сервер Airflow

DAG-файл загружается на сервер оркестратора в директорию ../dags - именно её просматривает планировщик Airflow.

Загрузку удобно выполнить из студии, не открывая сервер: кнопка Опубликовать DAG Панели управления Airflow отправляет выбранный файл на сервер и сохраняет версию файла вместе с комментарием.

image_7

DAG-файл не обязательно должен лежать в корне папки ../dags: планировщик просматривает её содержимое вместе со вложенными папками. Это позволяет группировать несколько процессов в одной папке, например robot_puzzle_rpa/robot_puzzle_rpa.py. При публикации из студии имя такой папки указывается в поле Подпапка окна Загрузка DAG.