2017-07-03 37 views
0

我有一個luigi.Tasks在沒有依賴關係的工作流中。但是,如果我不稍微錯開發送命令,這些任務中的每一個都會向服務器發送命令(即,在發送每個命令之間放置5秒的延遲)的任何方式都可以通過我沒有的參數來處理髮現了什麼?是否有可能給並行luigi.Tasks添加一個小小的延遲?

回答

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} 

有了這個配置,你會只執行兩個使用suc的Task h資源。我知道這不是你要求的,但我相信這是Luigi對你的用例所具有的最大特點。

相關問題