Airflow DAG работает для всех попыток - PullRequest
0 голосов
/ 09 апреля 2020

У меня DAG работает несколько месяцев, и с прошлой недели он работает ненормально. я запускаю оператор bash, который выполняет сценарий оболочки, а в сценарии оболочки у нас есть запрос улья. число повторных попыток установлено на 4, как показано ниже.

default_args = {'owner': 'airflow', 'depen_on_past': False, 'email': ['airflow@example.com'], 'email_on_failure': False, 'email_on_retry': False, 'retries': 4 , 'retry_delay': timedelta (minutes = 5)}

я вижу в журнале, что он вызывает запрос улья и теряет сердцебиение через некоторое время (около 5–6 минут) и повторная попытка. Пряжа показывает, что запрос еще не завершен, но поток воздуха сработал при следующем запуске. теперь в пряже 2 запроса выполняются (один для первого запуска и второй для повторной попытки) для одной и той же задачи. Аналогично, эта ошибка вызывает 5 запросов (так как повтор - 4) для одной и той же задачи и показывает состояние ошибки в последней , Интересно то, что тот же самый даг отлично работал с долгого времени. Кроме того, это проблема всех дагов, связанных с улей в производстве. сегодня я обновился до последней версии airflow v 1.10.9. В этом случае я использую LocalExecuter.

Кто-нибудь сталкивался с подобной проблемой?

1 Ответ

2 голосов
/ 15 апреля 2020

Интерфейс Airflow не запускает попытки самостоятельно, независимо от того, подключен ли он к внутренней БД или нет. Похоже, что ваши исполнители задач используют Zomb ie, в этом случае срабатывает обнаружение планировщика Zomb ie и вызывается метод handle_failure экземпляров задачи (TI's). Итак, в двух словах, вы можете переопределить этот метод в своем dag и добавить некоторую запись в журнал, чтобы увидеть, что происходит, на самом деле вы должны иметь возможность иметь oop RM и проверять состояние вашей работы и принимать соответствующее решение, включая отмену повторных попыток.

Например, см. этот код, который я написал только для обработки сбоев Zomb ie.

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