2015-05-14 57 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