是否有可能为并行luigi.Tasks添加一点延迟?

时间:2017-07-03 16:52:48

标签: luigi

我有一些luigi.Tasks在工作流程中没有依赖关系。但是,如果我没有轻微错开发送命令,这些任务中的每一个都会向服务器发送一个可能会被淹没的命令。(即在发送每个命令之间放一个5秒的延迟)任何方式来处理这个我没有的参数发现?

1 个答案:

答案 0 :(得分:0)

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为你的用例提供的壁橱功能。