我怎样才能让我的 Luigi 调度程序利用具有并行调度标志的多个内核?

cap*_*cin 5 python parallel-processing multithreading luigi

我的luigi.cfg文件中有以下行(在所有节点、调度程序和工作程序上):

[core]
parallel-scheduling: true
Run Code Online (Sandbox Code Playgroud)

然而,当我在我的 luigi 调度程序上监控 CPU 利用率时(有大约 4000 个任务的图表,处理来自大约 100 个工作人员的请求),它只使用调度程序上的单个内核,luigid单线程经常达到 100% CPU 利用率. 我的理解是这个配置变量应该并行化任务的调度。

消息来源表明该标志确实应该在调度程序上使用多个内核。在https://github.com/spotify/luigi/blob/master/luigi/interface.py#L194 中,调用https://github.com/spotify/luigi/blob/master/luigi/worker。 py#L498.complete()并行检查任务的状态。

让我的 Luigi 调度程序利用其所有核心我还缺少什么?

Tar*_*sch 4

我只是意识到这个名字parallel-scheduling有点令人困惑。它不会影响调度程序。只有工人。设置该选项后,工作人员将并行执行调度阶段。

截至目前,中央调度程序还无法使用多核。

  • 我认为您对客户端(而不是调度程序)有两个阶段感到困惑:(1)调度和(2)轮询任务。(2) 与“--workers”并行,(1) 与“parallel-scheduling”并行。 (2认同)