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

Ansible如何实现等待30秒超时或用户交互后提前终止等待

实现方案

你之前的错误原因是混淆了wait_for和pause两个独立Ansible模块的参数,实现「超时自动结束+按回车提前终止」的需求直接使用原生的pause模块即可,无需搭配wait_for。

可用playbook示例

- name: "Test"
  hosts: localhost
  tasks:    
    - name: 等待用户确认或30秒超时自动继续
      ansible.builtin.pause:
        prompt: "按回车键提前结束等待,30秒后将自动执行后续任务"
        seconds: 30

参数说明

  • seconds:设置最长等待时长,单位为秒,到期后无需任何操作会自动向下执行任务
  • prompt:自定义等待阶段输出给用户的提示信息,可根据业务场景自行调整
  • 模块默认支持等待过程中按下回车键直接终止等待,无需额外配置

非交互场景适配

如果你的playbook需要同时兼容CI/CD等无人工参与的自动化运行场景,可以给任务添加条件判断,避免非交互环境下不必要的等待:

- name: 等待用户确认或30秒超时自动继续
  ansible.builtin.pause:
    prompt: "按回车键提前结束等待,30秒后将自动执行后续任务"
    seconds: 30
  when: ansible_playbook_interactive | default(false) | bool

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:06:04