Единственный способ, с помощью которого группа обеспечения доступности баз данных может потерпеть неудачу без сбоя задачи, - это что-то, не связанное ни с одной из задач.Помимо ручного вмешательства (убедитесь, что никто в команде не запускает дагс вручную!), Единственная вещь, которая дает сбой DAG вне рассмотрения состояний задач - это проверка тайм-аута.
Это выполняется внутри планировщика, учитывая, нужно ли этозапланировать новый dag_run
.Если он находит другой активный прогон, который выполнялся дольше, чем аргумент dagrun_timeout
группы обеспечения доступности баз данных, он будет убит.Насколько я вижу, это нигде не регистрируется, поэтому лучший способ диагностировать это - посмотреть, когда началось DAG и время, когда завершилось последнее задание, чтобы узнать, приблизительно ли это длина dagrun_timeout
.
Вы можете увидеть код в действии здесь: https://github.com/apache/incubator-airflow/blob/e9f3fdc52cb53f3ac3e9721e5128d17d1c5c418c/airflow/jobs.py#L800