Step 1 of 1

Планировщик необходимо запускать отдельно от веб-сервера. Для его старта нужно выполнить команду:

airflow scheduler

Но за что же отвечает планировщик? Планировщик отвечает за запуск пайплайнов (DAG Run) по расписанию, мониторинг и обнаружение новых DAGов (в случае, когда вы пишите новые пайплайны и загружаете в указанную директорию). Без запущенного планировщика невозможно выполнить DAG.

При созданию дата пайплайна (DAG) вы опционально можете указать периодичность его запуска через параметр schedule_interval (значения могут быть согласно синтаксиса crontab или готовые пресеты). Например, если вы планируете запускать ваш пайплайн ежедневно (значение @daily), то запуск за 26 января 2021 года будет произведён в полночь 27 января, т.е. сразу после наступления новой даты. То же самое касается и ежемесячных интервалов. Запуск за январь будет произведён 1-го февраля.

Ранее планировщик Airflow был узким местом всей системы из-за отсутствия отказоустойчивости и проблем с масштабированием. Но начиная со второй версии эта проблема была решена. Теперь для более надёжной работы всей системы можно запускать сразу несколько планировщиков, например, хотя бы два (с единой базой данных). Разработчики гарантируют, что ваш DAG не будет выполнен несколько раз, если у вас запущено несколько планировщиков. Это достигается за счёт блокировки на уровне базы данных. Более подробно о работе можно узнать в статье The Airflow 2.0 Scheduler.

Comments