使用直到重试循环活动检查

这是使用 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