2015-05-14 60 views
0

我有以下状态:如何使盐层等待200 OK?

healthy: 
    cmd.run: 
    - name: echo 'True' 
    - onlyif: "curl -I http://127.0.0.1:{{ port }} 2>/dev/null | head -n 1 | awk '$2 ~ /200/ { print \"True\" }" 
    - require: 
     - docker: running 

问题是,只检查一次,然后退出,我怎么让这个等待一定的超时时间,直到它实际上得到200否则退出?

+1

您可以设置curl超时:'--connect-timeout''--max-time'。使用'人卷曲'获取更多信息。 – deathangel908

+0

@ deathangel908有趣,会尝试一个。 :) – Marconi

+0

把我放在正确的方向上的点,但我使用'wget',而不是'curl'没有重试拒绝连接。干杯! – Marconi

回答

0
while $(curl -I http://localhost:8080/ 2> /dev/null | awk '/200 OK/ 
{ exit 1 }'); 
do count=$(expr $count + 1); sleep 1; [ "$count" -ge "60" ] && exit 1; done