Ansible的异步模式
(1.)Ad-Hoc模式(命令分发模式)
主要两个参数:
-B-B SECONDS, --background=SECONDS
run asynchronously, failing after X seconds
(default=N/A)
#后台运行的最大时间,如果最大时间还没跑完的话,就返回失败
-P POLL_INTERVAL, --poll=POLL_INTERVAL
set the poll interval if using -B (default=15)
#每隔多少秒去远程机器的异步jid文件取数据,直到取到数据或者-B参数设置的时间到了,返回错误
-B和-P要同时出现使用
ansible -i ip.txt test -B 120 -P 5 -m shell -a 'sleep 5;echo 123456789;sleep 30'
#执行任务的最大超时时间是120秒,异步执行,每隔5秒去轮训下任务jid 的状态,直到取到状态退出或者超时时间到返回错误
(2).playbook模式
主要涉及2个配置项
async: 45
poll: 0
yaml文件如下
---
- hosts: test
#vars:
# worker_processes: 4
# num_cpus: 4
# max_open_file: 65506
# root: /data
remote_user: admin
tasks:
- name: ping result
shell: sleep 40
async: 50
poll: 5
#async:对应了上面的-B,后台运行的最大时间,如果最大时间还没跑完的话,就返回失败
#poll:对应了上面的-P,每隔多少秒去远程机器的异步jid文件取数据,直到取到数据或者-B参数设置的时间到了,返回错误
网友评论