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

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

image_1

Описание

Блок предназначен для создания процесса (DAG), который загружается на сервер оркестратора Airflow и представляет собой набор инструкций выполняемых оркестратором.

Описание параметров

Блок имеет несколько основных параметров:

  1. Наименование - уникальный идентификатор процесса, отображаемый в веб-интерфейсе оркестратора;

    Тип данных: строка

    Пример: puzzle_robot

  2. Описание - краткое описание процесса для отображения в интерфейсе оркестратора;

    Тип данных: строка

    Пример: Робот по созданию актов в 1С.

  3. Дата отсчета интервала - дата, с которой нужно начинать планирование запуска процесса;

    Тип данных: строка

    Пример: 01.01.2025

  4. Время запуска - интервалы запуска, указываемые в виде cron-выражения. Проверить или составить cron-выражения можно с помощью сервиса: https://crontab.guru/;

    Тип данных: cron-строка

    Пример: */30 08-19 * * 1-5

  5. Одновременный запуск процессов - максимальное количество одновременных запусков процесса;

    Тип данных: число

    Пример: 3

  6. Теги - параметр для сортировки процессов через web-интерфейс оркестратора. Для одного процесса можно указать несколько тегов;

    Тип данных: список строк

    Пример: ['Пример', '1С']

  7. Аргументы по умолчанию:

    • 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 - ни один вышестоящий робот не находится в состоянии пропущена.
  8. Выполнять пропущенные процессы - если значение параметра установлено в True, то все задачи, которые должны были быть выполнены в прошлом, будут выполнены при запуске процесса. Если значение параметра установлено в False, то только текущие и будущие задачи будут выполнены.

    Тип данных: логический (boolean)

    Пример: Истина

  9. Роботы - разъем, который определяет, какие роботы будут выполнятся процессом.

    Тип данных: Блоки функциональных действий студии разработки Puzzle RPA

    Допускается использование блоков:

  10. Порядок выполнения роботов - объявление зависимостей отдельных роботов.

    Тип данных: строка

    Пример: Robot_1() >> Robot_2()


Пример использования

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

В данном примере алгоритм робота сохранен как проект Python-скриптов с названием my_project:

  1. Создается процесс для оркестратора с задачей Запуск робота;

  2. Название/ID робота - указано значение Robot_1, как ID запуска в созданном процессе (DAG);

  3. Путь к роботу на сервере - указан путь до директории проекта на сервере Airflow;

  4. Название главного процесса - указано название главного Python-скрипта с расширением в проекте;

  5. Директория используемой студии - указан путь до установленной студии Puzzle RPA;

  6. Порядок выполнения роботов - указано значение Robot_1(), что свидетельствует о наличии единственной задачи — Запустить робота с ID Robot_1.

image_2

Результат

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

image_3