私はそれが可能であるかどうかを知りたいのですが、2つの異なるホストに対して6つの異なるタスクをパラレルに(3 | 3)展開することができます。 1つのプレイブック、彼らは単にシーケンシャルを実行します。実行可能な2.2.0
1
A
答えて
0
これはasync
タスクで行うことができます。このような何か:
- hosts: host1,host2
tasks:
- command: /task1a.sh
async: 1000
poll: 0
register: task1a
when: inventory_hostname == 'host1'
- command: /task1b.sh
async: 1000
poll: 0
register: task1b
when: inventory_hostname == 'host2'
# ... repeat for tasks 2 and 3
- command: /check_done.sh
register: check_done
until: check_done | success
retries: 30
これは、それぞれhost1とhost2の上のジョブ非同期としてtask1a.shとtask1b.sh開始してからゼロを返すためにcheck_done.shを待ちます。あなたは、例えば、when: inventory_hostname == 'hostXX'
と組み合わせてstrategy: free
を見ることができます
0
:
- hosts: all
strategy: free
tasks:
- block:
- name: task1
...
- name: task2
...
- name: task3
...
when: inventory_hostname == 'host1'
- block:
- name: task4
...
- name: task5
...
- name: task6
...
when: inventory_hostname == 'host2'
strategy: free
は、すべてのタスクは、各タスクが終了するのをそれぞれに待機していない、早く彼らができるように並列内のすべてのホスト上で実行することを意味しますホスト。どのタスクがどのホスト上で実行されるのかは、when
節で決定されます。
あなただけの各ブロックの1 when
を記述する必要があるように私は、ここにblock
を使用していますが、それを使用する必要はありません、あなたは、各タスクにwhen
を書くことができます。
関連する問題
- 1. SAFELY Windowsで実行可能な実行可能ファイルへのパス
- 2. PHPを実行可能なウェブサイトとして実行可能
- 3. Cコードで実行可能な実行
- 4. 実行可能なJavaCVプロジェクト
- 5. 実行可能なパス
- 6. Cで実行可能なC実行可能ファイルをCで実行するシェルスクリプトから実行する
- 7. 長期実行可能なDjangoプロセスが実行可能ですか?
- 8. 実行可能ファイルを別の実行可能ファイルにインクルード
- 9. コンパイル可能/実行可能なHaskellソースコードの例
- 10. OpenBSDで書き込み可能で実行可能なマークバイナリ
- 11. 実行時にドラッグ可能なコンポーネント
- 12. 実行可能なCプログラム内のセグメント
- 13. Javaで実行可能なパイプとフィルタグラフ
- 14. SQL Server 2008:再実行可能なストアドプロシージャ
- 15. 実行時編集可能なリソースファイル
- 16. 実行可能なバイナリとOS
- 17. Akka Stream - 並列実行可能なグラフ
- 18. PhantomJS:メッセージ:「phantomjs」実行可能なニーズPATH
- 19. Java - 実行可能な混乱
- 20. 実行可能な初期化エラー
- 21. C++の実行可能なクラッシュ
- 22. githubで実行可能なホスト
- 23. Libgdx:実行可能なJarにエクスポート
- 24. mavenスイングプロジェクトの実行可能なjar
- 25. C/C++ - 実行可能なパス
- 26. 実行可能なJarとデータベース
- 27. リモートホストで実行可能なタスク
- 28. 実行可能なjarのプロパティファイルにアクセス
- 29. 実行可能なjarの作成
- 30. 実行可能停止しない
ありがとうございます。私の問題は、2つのホストで実行されている3つの異なるタスクではなく、2つのホスト(ホスト1では3、ホスト2では別の3)で6つの異なるタスクが実行されています。 – famg
私は答えを更新しました –