如何使用@parallel decorator将任务内的本地命令并行化:
@parallel
def myTask():
local('initialize localhost')
run('command on remote host')
local('clean up localhost')
我希望本地主机上的命令只执行一次,远程主机的命令并行运行。现在我看到每个远程主机实例都运行本地主机命令。最干净的方法是什么?
由于
答案 0 :(得分:1)
以下是否适用于您?
def local_init():
local('initialize')
@parallel
def myTask():
run('remote command')
def local_cleanup():
local('clean up')
然后:
fab local_init myTask local_cleanup
答案 1 :(得分:1)
将并行命令分组为修饰函数。然后使用execute()在本地调用之间调用它。