Ansible(14)wait_for模块

Ansible的wait_for模块用于等待某个事件发生,例如确认服务如tomcat或数据库启动成功。它能检测端口是否被占用,并在设定的超时时间内进行相应操作。本文详细介绍了该模块的使用和常见参数。

模块说明

当你利用service 启动tomcat,或数据库后,他们真的启来了么?这个你是否想确认下?
wait_for模块就是干这个的。等待一个事情发生,然后继续。它可以等待某个端口被占用,然后再做下面的事情,也可以在一定时间超时后做另外的事。

常用参数

参数名 是否必须 默认值 选项 说明
connect_timeout no 5 在下一个事情发生前等待链接的时间,单位是秒
delay no 延时,大家都懂,在做下一个事情前延时多少秒
host no 127.0.0.1 执行这个模块的host
path no 当一个文件存在于文件系统中,下一步才继续。
port no 端口号,如8080
state no started present/started/stopped/absent 对象是端口的时候start状态会确保端口是打开的,stoped状态会
name: Detect processes of GS register: gs_pgrep_cmd changed_when: false failed_when: gs_pgrep_cmd.rc == 2 ansible.builtin.command: cmd: pgrep -x {{ gs_worker_name }} name: Terminate if no gs worker when: not gs_pgrep_cmd.stdout_lines ansible.builtin.fail: msg: “No GS worker” name: Only do when apex home exists when: apex_home_st.stat.exists block: name: Get worker state of port listening poll: 0 changed_when: false register: apex_port_wait_for async: “{{ apex_port_timeout }}” ansible.builtin.wait_for: state: started port: “{{ _port }}” timeout: “{{ apex_port_timeout }}” vars: _port: “{{ apex_port_start + lines[index].line_num | int }}” loop: “{{ gs_pgrep_cmd.stdout_lines }}” loop_control: index_var: index label: “{{ _port }}” name: Wait async wait_for no_log: true ignore_errors: true register: apex_port_wait_for_async ansible.builtin.async_status: jid: “{{ item.ansible_job_id }}” loop: “{{ apex_port_wait_for.results }}” name: Start apex worker # noqa no-changed-when when: not apex_home_st.stat.exists or apex_port_wait_for_async.results[index] is failed ansible.builtin.shell: cmd: nohup ./AHNetServer > /dev/null & args: chdir: “{{ apex_home }}/svr{{ lines[index].line_num }}/ax_itemsvr” loop: “{{ apex_port_wait_for_async.results }}” loop_control: index_var: index label: “nohup {{ apex_home }}/svr{{ lines[index].line_num }}/ax_itemsvr/AHNetServer > /dev/null &” pgrep -x rungs 6423 6425 6428 6431 lines为4条线,为什么最终只有一条线执行了nohup ./AHNetServer > /dev/null &
09-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值