Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.1 KiB

#!/bin/sh
if [[ -z "${PGHOST}" && -z "${MYSQL_HOST}" && -z "${MSSQL_HOST}" ]]; then
HOST="localhost"
elif [[ -z "${PGHOST}" && -z "${MSSQL_HOST}" ]]; then
HOST="${MYSQL_HOST}"
elif [[ -z "${MSSQL_HOST}" && -z "${MYSQL_HOST}" ]]; then
HOST="${PGHOST}"
else
HOST="${MSSQL_HOST}"
fi
if [[ -z "${PGPORT}" && -z "${MYSQL_TCP_PORT}" && -z "${MSSQL_TCP_PORT}" ]]; then
PORT="5432"
elif [[ -z "${PGPORT}" && -z "${MSSQL_TCP_PORT}" ]]; then
PORT="${MYSQL_TCP_PORT}"
elif [[ -z "${MSSQL_TCP_PORT}" && -z "${MYSQL_TCP_PORT}" ]]; then
PORT="${PGPORT}"
else
PORT="${MSSQL_TCP_PORT}"
fi
COUNT=0
function fib() {
if [ $1 -le 0 ]; then
echo 0
elif [ $1 -eq 1 ]; then
echo 1
else
echo $(( $(fib $(($1 - 1)) ) + $(fib $(($1 - 2)) ) ))
fi
}
echo "[INFO] Waiting for Database to become ready..."
until nc -z -w 2 $HOST $PORT; do
COUNT=$((COUNT + 1));
SLEEP_TIME=$(fib $COUNT);
echo "[WARNING] Unable to access database! Sleeping $SLEEP_TIME seconds. Waiting for $HOST to listen on $PORT...";
sleep $SLEEP_TIME;
done;
echo "[INFO] Database OK ✓"