можем ли мы параметризовать расписание_interval воздушного потока, динамически считывающее из переменных, вместо передачи в качестве выражения cron - PullRequest
1 голос
/ 05 августа 2020

можем ли мы параметризовать airflow schedule_interval динамически считывая из переменных воздушного потока вместо того, чтобы передавать напрямую как выражение cron

Я прошел следующий путь согласно документации воздушного потока args = {'owner ':' pavan ',' depends_on_past ': False,' start_date ': datetime (2020, 1, 15),' email_on_failure ': True,' email_on_retry ': False,' retries ': 0,' on_failure_callback ': notify_email}

с DAG (dag_id = DAG_NAME, default_args = args, schedule_interval = '* 1 * * *', catchup = False) как dag:

1 Ответ

0 голосов
/ 06 августа 2020

Да

Технически вы можете это сделать, но это вызывает 2 проблемы

  • незначительная проблема : чтение переменной означает SQL -запрос запускается в мета-базу данных бэкэнда Airflow SQLAlchemy. И выполнение этого в вашем сценарии определения DAG означает, что это произойдет, поскольку DAG постоянно анализируется Airflow в фоновом режиме. Прочтите здесь пункт 2

  • основная проблема : переменную можно редактировать через пользовательский интерфейс. Но изменение Airflow DAG schedule_interval может иметь странное поведение и может потребовать от вас переименовать DAG или (неофициальный вывод) перезапустить scheduler, чтобы исправить это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...