简介
一个Http的接口执行时间比较长,通过Ansible 异步调研
yaml 文件
- hosts: 10.128.**.43
gather_facts: no
tasks:
- name: 'send request'
uri:
url: http://10.128.**.122:8000/backends/datasync/datasync/?user=admin
method: GET
return_content: yes
timeout: 240
async: 10000
poll: 0
register: get_result
- name: 'async check'
async_status: jid={{ get_result.ansible_job_id }}
register: job_result
until: job_result.finished
retries: 20
执行结果:
[root@~]# ansible-playbook send_get_request.yaml
PLAY [10.128.**.43] **********************************************************************************************
TASK [send request] ***********************************************************************************************
changed: [10.128.**.43]
FAILED - RETRYING: async check (20 retries left).
FAILED - RETRYING: async check (19 retries left).
FAILED - RETRYING: async check (18 retries left).
FAILED - RETRYING: async check (17 retries left).
FAILED - RETRYING: async check (16 retries left).
FAILED - RETRYING: async check (15 retries left).
FAILED - RETRYING: async check (14 retries left).
FAILED - RETRYING: async check (13 retries left).
FAILED - RETRYING: async check (12 retries left).
FAILED - RETRYING: async check (11 retries left).
FAILED - RETRYING: async check (10 retries left).
FAILED - RETRYING: async check (9 retries left).
TASK [async check] ************************************************************************************************
ok: [10.128.**.43]
PLAY RECAP ********************************************************************************************************
10.128.**.43 : ok=2 changed=1 unreachable=0 failed=0
You have mail in /var/spool/mail/root
[root@ ~]#