Как сбой DAG Airflow, если ни одна из задач не была выполнена? - PullRequest
0 голосов
/ 02 июня 2018

У нас длинный даг (~ 60 заданий), и довольно часто мы видим дагрун для этого даг в состоянии failed.При просмотре задач в группе обеспечения доступности баз данных все они находятся в состоянии success или null (то есть даже еще не поставлены в очередь).Похоже, что даг вошел в состояние failed преждевременно.

При каких обстоятельствах это может произойти и что люди должны сделать, чтобы защититься от него?

Если это полезно для контекстамы запускаем Airflow с использованием Celery executor и в настоящее время работаем на версии 1.9.0.Если мы вернем состояние этого знака обратно на running, то все задачи (и весь пакет в целом) завершатся успешно.

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Единственный способ, с помощью которого группа обеспечения доступности баз данных может потерпеть неудачу без сбоя задачи, - это что-то, не связанное ни с одной из задач.Помимо ручного вмешательства (убедитесь, что никто в команде не запускает дагс вручную!), Единственная вещь, которая дает сбой DAG вне рассмотрения состояний задач - это проверка тайм-аута.

Это выполняется внутри планировщика, учитывая, нужно ли этозапланировать новый dag_run.Если он находит другой активный прогон, который выполнялся дольше, чем аргумент dagrun_timeout группы обеспечения доступности баз данных, он будет убит.Насколько я вижу, это нигде не регистрируется, поэтому лучший способ диагностировать это - посмотреть, когда началось DAG и время, когда завершилось последнее задание, чтобы узнать, приблизительно ли это длина dagrun_timeout.

Вы можете увидеть код в действии здесь: https://github.com/apache/incubator-airflow/blob/e9f3fdc52cb53f3ac3e9721e5128d17d1c5c418c/airflow/jobs.py#L800

0 голосов
/ 04 июня 2018

Не могли бы вы опубликовать свои аргументы для этого дамба, а также, возможно, несколько примеров его задач?

Чтобы просмотреть журналы для сбойной группы доступности базы данных:

  1. Перейдите на веб-сервер и нажмите DAGs на верхней панели
  2. Найдите сбойную группу доступности базы данных ипосмотрите в столбец DAG Runs.
  3. Нажмите на красный символ неудачной проверки меток, чтобы загрузить его на страницу со списком всех неудачных меток.
  4. Выберите неудавшуюся группу DAG, на которую вы хотите посмотреть, и выберите идентификатор ссылки с гиперссылкой
  5. Теперь вы находитесь на графике этого неудачного дамба.Посмотрите на различные задачи и посмотрите, установлены ли какие-либо из них как null или failed.Нажмите на задачу, которую вы хотите исследовать, и в следующем всплывающем окне нажмите View Log.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...