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

Сохранение созданного робота как Python-скрипт

Сохранение

Для использования созданного робота в оркестраторе Airflow необходимо сохранить процесс (процессы) как Python-скрипт.

Для сохранения необходимо:

  1. Открыть проект с роботом;
  2. Перейти на главный процесс в проекте;
  3. Открыть раздел Процесс; image_1
  4. Для генерации Python-скрипта кликнуть на кнопку Сгенерировать; image_2
  5. Для запуска процесса сохранения кликнуть на кнопку Сохранить; image_3
  6. Выбрать тип сохранения Python-скрипт и сохранить процесс; image_4
  7. Откроется папка с сохраненными процессами как Python-скрипты. image_5

Подготовка и загрузка на сервер Airflow

Робот и процесс оркестратора (DAG) загружаются на сервер по-разному: скрипты робота - папкой в директорию ../scripts, DAG-файл - отдельным файлом в директорию ../dags (в её корень или во вложенную папку).

Скрипты робота

Робот может состоять из нескольких процессов, которые вызывают друг друга, поэтому его файлы загружаются на сервер папкой целиком:

  1. Создать папку с названием робота, например my_robot (латиница, без пробелов - это имя будет частью пути на сервере);
  2. Переместить в созданную папку все Python-скрипты робота из папки сохранения; image_6
  3. Загрузить созданную папку на сервер Airflow в директорию ../scripts. Загрузку удобно выполнить из студии - кнопкой Опубликовать скрипты Панели управления Airflow, указав имя папки робота в поле Подпапка;
  4. В блоке Запустить Робота указать:
    • Путь к роботу на сервере - путь до папки робота, например /opt/airflow/scripts/my_robot;
    • Название главного процесса - имя файла точки входа внутри этой папки, например main.py.

DAG-файл

Процесс с блоком Создать процесс (Dag) - это отдельный процесс проекта, который сохраняется так же, как робот, но загружается на сервер отдельным файлом:

  1. Перейти на процесс с блоком Создать процесс (Dag) и сохранить его как Python-скрипт;
  2. Найти файл этого процесса в открывшейся папке сохранения и переместить его в отдельную папку, например dag рядом с проектом. Каждое сохранение создаёт новую папку python_scripts/<дата и время>, поэтому хранить и загружать рабочий DAG-файл из неё не следует;
  3. Переименовать файл так, чтобы его имя совпадало с параметром Наименование блока Создать процесс (Dag) - идентификатором процесса в оркестраторе. Символы, недопустимые в именах файлов, заменяются на подчёркивание: для наименования robot-puzzle-rpa файл называется robot_puzzle_rpa.py;
  4. Загрузить файл на сервер Airflow в директорию ../dags - кнопкой Опубликовать DAG Панели управления Airflow или вручную.

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