Задачи воздушного потока, застрявшие в очереди - PullRequest
0 голосов
/ 15 января 2020

Наш экземпляр airflow работает с CeleryExecutor - 1 планировщик и 1 рабочий, используя RabbitMQ в качестве платформы обмена сообщениями. Запуск версии 1.10.3. Быстрый фон на DAG. У нас есть 21 датчик, использующий режим перепланирования с интервалом нажатия 5 минут каждый. Датчики проверяют очереди RabbitMQ, а также проверяют некоторые вещи с текущим временем.

DAG вращается каждое утро и запускает эти датчики. Около 75% датчиков ведут себя так, как ожидалось - они либо извлекают сообщение и завершают его как успешные, либо go перезаписывают, если сообщения не было, затем повторите попытку через 5 минут. Однако остальные 25% датчиков застряли в состоянии очереди, и они не выйдут, если мы не запустим задачу вручную.

Просматривая журналы планировщика, я ясно вижу строки, которые говорят:

INFO - Sending ('<task details>') to executor. INFO - Adding to queue ['<task-details>']

Однако, если я go просматриваю журналы рабочих, нет никаких ссылок на эти задачи, которые планировщик сказал, что отправил исполнителю. Кроме того, если я просматриваю страницу «Сведения об экземпляре задачи» в пользовательском интерфейсе, появляется сообщение «Задача блокировки зависимостей от планирования», а затем «Зависимость» = «Неизвестно».

У кого-нибудь есть идеи по этой проблеме? Буду рад предоставить более подробную информацию, если это поможет.

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