#airflow
#воздушный поток
Вопрос:
Когда задача при успешном выполнении обратной засыпки очищается, создается DagRun с состоянием выполнения, но он не выбирается планировщиком. Это ожидаемое поведение?
Если таких DagRuns много и выполняется команда обратной засыпки, все DagRuns будут выполняться одновременно, не следуя параметру max_active_runs.
Единственное решение, которое я нашел до сих пор, — это очистить задачи, затем пометить dagruns (не экземпляры задачи) как успешные через пользовательский интерфейс, а затем запустить обратную засыпку.
Ответ №1:
Планировщик не будет получать созданные вручную DagRuns (включая airflow backfill
), только запланированные. Вы должны выполнить airflow clear
и запустить airflow backfill
для периода снова.
Что касается несоблюдения обратной засыпки max_active_runs
, я считаю, что это было исправлено с помощью https://github.com/apache/airflow/pull/2454 . Какую версию воздушного потока вы используете?
Комментарии:
1. Я использую 1.10.1. Он учитывает max_active_runs, когда dagruns создаются процессом обратной засыпки. Но после очистки задач все dagruns создаются веб-сервером. Поэтому, когда вызывается обратная засыпка, она выполняет все это сразу.
2. Да, хотя после предоставления max_active_runs все прогоны dag запускались одновременно. Я использую 1.10.15. Исправлено ли это в новой версии?
3. @Tula Исправлено в 2.1.3 github.com/apache/airflow/issues/9975#issuecomment-901459686