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