【发布时间】:2017-10-06 13:25:44
【问题描述】:
我有一种情况,我想遍历一个列表(with_items)并执行一个命令。但是,除非第一项已在所有主机上完成,否则无法启动下一项。我将循环遍历的项目数量将是巨大的。但是,对于正在使用的项目,主机不应该有任何偏差。除非项目 1 在整个主机池中完成,否则任何主机都不应启动项目 2。
为了创建概念证明,我希望实现以下目标
- name: proof of concept
command: bash -c /home/user/my_test_script.sh
with_items:
- item_1
- item_2
....
- item_n
其中 my_test_script.sh 在每台主机上都有不同的 sleep(x) 模拟某些可能在执行作业时速度较慢。
我已经查看了 wait_for、wait_until 等。但还没有找到执行并行任务(with_items)的解决方案,该任务(对于列表中的每个项目)“同步”运行(时间不rsync) 用于许多给定的项目。
任何帮助将不胜感激。
【问题讨论】:
标签: parallel-processing command ansible synchronous