#!/bin/sh : ${SLEEP_LENGTH:=2} : ${TIMEOUT_LENGTH:=60} DIR="$(cd $(dirname $0) && pwd)" BIN_DIR="$(cd $DIR/.. && pwd)" # Import functions . $BIN_DIR/helper/fn wait_for() { START="$(date +%s)" echo "Waiting for $1 to listen on $2..." while ! nc -z $1 $2; do if [ $(($(date +%s) - $START)) -gt $TIMEOUT_LENGTH ]; then abort "Service $1:$2 did not start within $TIMEOUT_LENGTH seconds. Aborting..." fi echo "sleeping" sleep $SLEEP_LENGTH done } for var in "$@" do host=${var%:*} port=${var#*:} wait_for $host $port ok "Listening ${host}:${port}" done exit 0