Луиджи не поднимает следующую задачу для выполнения, куча отложенных задач не осталось, никаких неудачных задач

Я запускаю большой рабочий процесс Luigi, который должен выполнить более ста задач. Рабочий процесс идет хорошо в течение достаточно долгого времени, но на одном этапе он приходит к моменту, когда имеется 15 ожидающих выполнения задач, и все остальные задачи успешно выполнены, а не выполненные задачи. Тем не менее, он, похоже, больше не поднимает эти ожидающие задачи для выполнения. Я внимательно просмотрел логи и ошибок нет. С этого момента он просто периодически печатает следующие журналы:

There are no more tasks to run at this time
There are 15 pending tasks possibly being run by other workers
There are 15 pending tasks unique to this worker
There are 15 pending tasks last scheduled by this worker

Версия Луиджи, которую я использую, 2.6.1, И вот скриншот:

Есть идеи, что здесь происходит? С чего бы это думать, что нет задачи для запуска? Вот моя рабочая конфигурация luigi:

[worker]
keep-alive = True
max-reschedules = 3

2 ответа

Решение

Выяснил проблему с помощью одного из моих коллег. Проблема заключалась в том, что из этих 15 незавершенных задач задачи, находящиеся на самом низком уровне, требуют немного ресурсов ЦП (10 ядер). Однако я не передавал никаких параметров ресурса luigi, когда запускал рабочий процесс. Поэтому, несмотря на то, что были задачи для выполнения, Луиджи не рассматривал ни одну из них как пригодную для выполнения из-за нехватки ресурсов. Передача параметра ресурса {"cpu_cores": 10} решил мою проблему.

Это также можно сделать с помощью файла конфигурации luigi, например:

[resources]
cpu_cores=10

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

      class TaskName(luigi.Task):
resources = {'max_workers': 1}
Другие вопросы по тегам