使用直到重试循环活动检查
这是使用 until / retries / delay 对正在启动的 webapp 实施活动检查的示例。它假定 webapp 拒绝套接字连接会有一段时间(最多 3 分钟)。之后,它会在/ alive 页面中检查单词 OK
。它还将 URL 的检索委托给运行 ansible 的 localhost。这作为部署手册中的最终任务是有意义的。
tasks:
- action: uri url=http://{{ ansible_all_ipv4_addresses }}:8080/alive return_content=yes
delegate_to: localhost
register: result
until: "'failed' not in result and result.content.find('OK') != -1"
retries: 18
delay: 10
直到重试模式可以用于任何动作; Ansible 文档提供了一个等待某个 shell 命令返回所需结果的示例: http : //docs.ansible.com/ansible/playbooks_loops.html#do-until-loops 。