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