[英]Ansible run systemd start in parallel batch
I want to change: 我想改变:
---
- name: Start systemd.
systemd:
name: "{{item.jar}}"
state: restarted
daemon_reload: yes
become: yes
loop: "{{Items}}"
To take for example 4 first elements from Items
and try to start it via systemd. 以Items
4个头元素为例,尝试通过systemd启动它。 Then it should take next 4 elements and so on until all Items
are processed. 然后应该处理下4个元素,依此类推,直到处理完所有Items
。 How can i achieve it? 我该如何实现?
My solution example: 我的解决方案示例:
---
- hosts: localhost
vars:
appsItems:
- { jar: a, opts: -Xms256M -Xmx1024M}
- { jar: b, opts: -Xms64M -Xmx128M}
- { jar: c, opts: -Xms128M -Xmx400M}
- { jar: d, opts: -Xms128M -Xmx512M}
- { jar: e, opts: -Xms256M -Xmx512M} # 5
- { jar: f, opts: -Xms256M -Xmx512M}
- { jar: g, opts: -Xms128M -Xmx256M}
- { jar: h, opts: -Xms128M -Xmx175M}
- { jar: i, opts: -Xms128M -Xmx256M}
- { jar: j, opts: -Xms128M -Xmx256M} # 10
- { jar: k, opts: -Xms128M -Xmx256M}
- { jar: l, opts: -Xms128M -Xmx256M}
- { jar: m, opts: -Xms1024M -Xmx1536M}
- { jar: n, opts: -Xms256M -Xmx512M}
- { jar: o, opts: -Xms256M -Xmx1024M} # 15
- { jar: p, opts: -Xms64M -Xmx128M}
- { jar: q, opts: -Xms256M -Xmx512M}
- { jar: r, opts: -Xms128M -Xmx256M}
- { jar: s, opts: -Xms512M -Xmx1024M}
- { jar: t, opts: -Xms128M -Xmx256M} # 20
- { jar: u, opts: -Xms128M -Xmx256M}
- { jar: v, opts: -Xms512M -Xmx768M}
- { jar: x, opts: -Xms128M -Xmx256M}
- { jar: y, opts: -Xms64M -Xmx128M}
- { jar: z, opts: -Xms256M -Xmx512M} # 25
- { jar: aa, opts: -Xms128M -Xmx256M}
tasks:
- name: modulo 9 equals 0
debug:
msg: "{{ loop.index }}"
debug:
msg: "{{ item }} with index {{ my_idx }} and {{appsItems|length}}"
loop:
"{{appsItems}}"
when: "{{my_idx %9 == 0}}"
loop_control:
index_var: my_idx
# modulo 9 equals 1,2,3,4,5,6,7
- name: modulo 9 equals 8
debug:
msg: "{{ loop.index }}"
debug:
msg: "{{ item }} with index {{ my_idx }} and {{appsItems|length}}"
loop:
"{{appsItems}}"
when: "{{my_idx %9 == 8}}"
loop_control:
index_var: my_idx
Finally: 最后:
- name: Start systemd -> modulo 9 equals 0.
systemd:
name: "{{item.jar}}"
state: restarted
daemon_reload: yes
no_block: yes
become: yes
loop: "{{appsItems}}"
when: "{{my_idx %9 == 0}}"
loop_control:
index_var: my_idx
And so on. 等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.