如何在多个工作人员的 Luigi 中同时避免 运行 特定任务
How to avoid running a specific task simultaneously in Luigi with multiple workers
我使用 Luigi 构建数据分析任务,包括通过 matplotlib 绘图。
似乎并发运行 matplotlib 绘图会导致问题,导致过早地从任务返回,什么都不做,出于某种原因。 (看起来这是 matplotlib 的问题,虽然我可能是错的。)
为了解决这个问题,我想避免 运行 多个工人同时只为那个绘图任务,而 运行 多个工人同时完成其他任务。我该怎么做?
您可以使用 resources。在 /etc/luigi/client.cfg
配置资源,如:
[resources]
mathplotlib: 1
然后,这样修改你的任务:
class MyTask(luigi.Task):
resources = {"mathplotlib": 1}
如果您有多台机器 运行 luigi worker,并且您希望所有机器上只有一个 worker 可以使用给定资源,那么您可以看一下 this solution。
我使用 Luigi 构建数据分析任务,包括通过 matplotlib 绘图。
似乎并发运行 matplotlib 绘图会导致问题,导致过早地从任务返回,什么都不做,出于某种原因。 (看起来这是 matplotlib 的问题,虽然我可能是错的。)
为了解决这个问题,我想避免 运行 多个工人同时只为那个绘图任务,而 运行 多个工人同时完成其他任务。我该怎么做?
您可以使用 resources。在 /etc/luigi/client.cfg
配置资源,如:
[resources]
mathplotlib: 1
然后,这样修改你的任务:
class MyTask(luigi.Task):
resources = {"mathplotlib": 1}
如果您有多台机器 运行 luigi worker,并且您希望所有机器上只有一个 worker 可以使用给定资源,那么您可以看一下 this solution。