diff options
Diffstat (limited to 'auth/sample/bin/pod_wait.sh')
-rw-r--r-- | auth/sample/bin/pod_wait.sh | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/auth/sample/bin/pod_wait.sh b/auth/sample/bin/pod_wait.sh index 71773be7..08998db0 100644 --- a/auth/sample/bin/pod_wait.sh +++ b/auth/sample/bin/pod_wait.sh @@ -14,7 +14,6 @@ function status { fi } -echo $APP $OTHER function check { if [ -d "$DIR" ]; then @@ -28,23 +27,35 @@ function check { fi } -echo "App $APP is waiting to start until $OTHER is ready" -status "waiting for $OTHER" +function start { + n=0 + while [ $n -lt 40 ]; do + rv="$(check)" + echo "$OTHER is $rv" + if [ "$rv" = "ready" ]; then + # This is critical. Until status is literally "ready" in the status directory, no processes will start + status ready + echo "Starting $@" + n=10000 + else + (( ++n )) + echo "Sleep 10 (iteration $n)" + sleep 10 + fi + done +} + +if [ "sleep" = "$OTHER" ]; then + echo "Sleeping $1" + status "Sleeping $1" + sleep $1 + shift + status "ready" +else + echo "App $APP is waiting to start until $OTHER is ready" + status "waiting for $OTHER" -n=0 -while [ $n -lt 40 ]; do - rv="$(check)" - echo "$OTHER is $rv" - if [ "$rv" = "ready" ]; then - # This is critical. Until status is literally "ready" in the status directory, no processes will start - status ready - echo "Starting $@" - n=10000 - else - (( ++n )) - echo "Sleep 10 (iteration $n)" - sleep 10 - fi -done + start +fi eval "$@" |