1

@parallel デコレータを使用して、タスク内でローカル コマンドを並列化しないようにするにはどうすればよいですか。

@parallel
def myTask():
  local('initialize localhost')
  run('command on remote host')
  local('clean up localhost')

ローカル ホストのコマンドは 1 回だけ実行し、リモート ホストのコマンドは並行して実行したい。現在、各リモート ホスト インスタンスに対して実行されているローカル ホスト コマンドを確認しています。これを行う最もクリーンな方法は何ですか?

ありがとう

4

2 に答える 2

1

以下はあなたに合っていますか?

def local_init():
    local('initialize')

@parallel
def myTask():
    run('remote command')

def local_cleanup():
    local('clean up')

その後:

fab local_init myTask local_cleanup
于 2012-10-06T00:01:32.623 に答える
1

並列コマンドを装飾された関数にグループ化します。次に、ローカル呼び出しの間に execute() を使用して呼び出します。

于 2012-10-06T00:46:40.170 に答える