gpt4 book ai didi

url - 等待几分钟以检查 URL 是否响应

转载 作者:行者123 更新时间:2023-12-02 01:36:08 27 4
gpt4 key购买 nike

我使用 Ansible 运行启动脚本,如下所示:

- name: Start service
raw: "source ~/.profile; ~/start.sh"

现在,我想继续检查上面启动的服务的 HTTP 状态,直到它成功 — 200

下面是我如何检查 HTTP 状态 200,但是,我不知道如何继续检查 2 分钟并报告 URL 是否仍未返回 200 .

- name: Detect if HTTp response is '200'
uri:
url: 'http://example.org/iportal/'
return_content: yes
validate_certs: no
status_code:
- 200
register: uri_output

最佳答案

使用 until循环:

- name: Wait until HTTP status is 200
uri:
url: 'http://example.org/iportal/'
return_content: yes
validate_certs: no
status_code:
- 200
until: uri_output.status == 200
retries: 24 # Retries for 24 * 5 seconds = 120 seconds = 2 minutes
delay: 5 # Every 5 seconds
register: uri_output

请注意:在这种情况下,如果您的请求最终超时,您可能会看到不同的计时。默认 timeout uri 模块的长度为 30 秒。

在这种情况下,您将有 24 次重试 * 5 秒延迟 + 24 次重试 * 30 秒直到超时,因此,大约需要 14 分钟。
从那时起,调整超时或重试次数,或两者兼而有之。

关于url - 等待几分钟以检查 URL 是否响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72363095/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com