我有一個需要30秒才能完成的功能。如何在許多服務器上同時執行命令
def reload():
sudo("service apache2 reload")
該功能必須同時在400臺服務器上運行。由於我需要儘快完成此步驟,因此我不想連續執行。有什麼方法可以用來做到這一點?
我有一個需要30秒才能完成的功能。如何在許多服務器上同時執行命令
def reload():
sudo("service apache2 reload")
該功能必須同時在400臺服務器上運行。由於我需要儘快完成此步驟,因此我不想連續執行。有什麼方法可以用來做到這一點?
你可以用 「布」 一個Python庫
安裝布:
$ pip install fabric
樣品晶圓廠腳本:
from fabric.api import *
env.hosts = ['host1', 'host2',...,'host400']
@parallel
def reload():
sudo("service apache2 reload")
並執行一組400臺服務器並行,如下所示:
$ fab -H -P reload
更好的配置格子布docs.
儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Max
@Max感謝您的提升。我已經編輯了一些鏈接頁面更改的情況下對其有最少理解 –
你能重新制定你的問題,使我們能夠更好地瞭解你到底想要什麼?你試過什麼了? –