我有一些luigi.Tasks在工作流程中没有依赖关系。但是,如果我没有轻微错开发送命令,这些任务中的每一个都会向服务器发送一个可能会被淹没的命令。(即在发送每个命令之间放一个5秒的延迟)任何方式来处理这个我没有的参数发现?
答案 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为你的用例提供的壁橱功能。