我正在編寫一個腳本以在多個主機上啓動負載生成實驗。我可以編寫一個bash腳本來啓動多個ssh會話,但我希望能夠使用更加結構化的東西。由於我對我的大多數腳本使用Python,我認爲Fabric看起來是一個不錯的選擇。將不同參數傳遞到結構中的不同主機
唯一的問題是我需要傳遞少量的主機特定數據與每個命令(實際上只是一個ID或計數器),我想並行運行它們。
換句話說,我想要做一些類似於下面的事情,其中host_num對於每個主機都是不同的(可能只是遞增)。
@parallel
def launch():
with cd('/working/dir'):
run("./start/script -id=%d", host_num)
這是可能的面料?如果沒有,是否有另一種工具可以用來完成同樣的事情?
感謝。這太糟糕了,沒有更好的機制 - 如果你想在不同的主機上運行相同的腳本,這種方法看起來不太好。 – bsowell 2012-07-23 14:14:33
這仍然會並行嗎?我遇到同樣的挑戰,但我有20臺主機,這些主機在運行時會分解(AWS EC2實例)。所以,我認爲提前編寫「if-then」陳述難以奏效。 – 2016-06-16 14:30:22