我正在运行一个大的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
我使用的luigi版本是2.6.1
。这是一个截图:
知道这里可能会发生什么吗?为什么认为没有任务可以运行?这是我的luigi工作人员配置:
[worker]
keep-alive = True
max-reschedules = 3
答案 0 :(得分:1)
通过我的同事帮助解决了这个问题。问题在于那15个待处理任务中,最低级别的任务需要一些CPU资源(10个核心)。但是,当我启动工作流程时,我没有通过任何luigi资源参数。因此,尽管有任务要运行,但由于缺乏资源,luigi并未将其中任何一项视为符合运行条件。传递{"cpu_cores": 10}
的资源参数解决了我的问题。
也可以通过luigi的配置文件完成,如下所示:
[resources]
cpu_cores=10