是否可以为并行路易吉添加轻微的延迟.任务?



我有很多路易吉。工作流中没有依赖项的任务。 但是,这些任务中的每一个都会向服务器发送一个命令,如果我不稍微错开发送命令,该命令可能会不堪重负。(即在发送每个命令之间放置 5 秒的延迟(有什么方法可以用我没有找到的论点来处理这个问题吗?

Luigi 有资源的概念,你可以限制某些资源的利用率(在本例中是你的服务器(。您可以配置仅需要并发执行此类资源的最大任务数。例如,这对于许多并行写入的任务可能会对服务器造成非常严重的影响。

检查文档:

http://luigi.readthedocs.io/en/stable/configuration.html?highlight=resources#resources

您基本上可以在配置中添加一个部分:

[resources]
hive=2
server=2

然后在你的课堂上

class MyTask(luigi.Task):
resources = {'server': 1}

使用此配置,您将只执行两个使用此资源的任务。我知道这不是你要问的,但我相信这是 Luigi 为您的用例提供的壁橱功能。

最新更新