You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ansible Playbook循环任务间添加1分钟休眠子任务?

在Ansible循环任务间添加1分钟间隔的两种方法

针对你的需求,这里提供两种实用的实现方式,核心是利用Ansible的pause模块配合循环条件判断,避免不必要的休眠:

方法1:拆分任务,独立控制休眠

将原任务和休眠任务分开,通过循环变量判断是否需要执行休眠(跳过最后一次循环):

- name: 执行目标任务
  module:
    XXX:
  with_items: "{{ items }}"

- name: 任务间隔休眠1分钟(最后一次循环跳过)
  pause:
    minutes: 1
  with_items: "{{ items }}"
  when: ansible_loop.index0 < (ansible_loop.length - 1)

说明:

  • ansible_loop.index0:当前循环的索引(从0开始计数)
  • ansible_loop.length:循环的总次数
  • 条件ansible_loop.index0 < (ansible_loop.length - 1)确保只有前N-1次循环执行休眠,最后一次任务完成后无需等待

方法2:用Block打包任务与休眠(更紧凑)

将原任务和休眠逻辑放到同一个block中,整体循环,逻辑更集中:

- name: 带间隔的循环任务组
  block:
    - name: 执行目标任务
      module:
        XXX:

    - name: 休眠1分钟(最后一次循环跳过)
      pause:
        minutes: 1
      when: ansible_loop.index0 < (ansible_loop.length - 1)
  with_items: "{{ items }}"

可选调整:任务执行前休眠

如果需要在每个任务执行前休眠(除了第一个任务),只需修改when条件为:

when: ansible_loop.index0 > 0

内容的提问来源于stack exchange,提问作者Raz Maabari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:15:21