#!/bin/bash set -ea function getUrl() { cat ${1} | grep $2 | awk -v word=$2 '$word { gsub(/[",]/,"",$2); print $2}' | tr -d '\n' } COMMON_SITE_CONFIG_JSON='/home/frappe/frappe-bench/sites/common_site_config.json' # Set DB Host and port DB_HOST=$(getUrl "$COMMON_SITE_CONFIG_JSON" "db_host") DB_PORT=$(getUrl "$COMMON_SITE_CONFIG_JSON" "db_port") if [[ -z "$DB_PORT" ]]; then DB_PORT=3306 fi # Set REDIS host:port REDIS_CACHE=$(getUrl "$COMMON_SITE_CONFIG_JSON" "redis_cache" | sed 's|redis://||g') if [[ "$REDIS_CACHE" == *"/"* ]]; then REDIS_CACHE=$(echo $REDIS_CACHE | cut -f1 -d"/") fi REDIS_QUEUE=$(getUrl "$COMMON_SITE_CONFIG_JSON" "redis_queue" | sed 's|redis://||g') if [[ "$REDIS_QUEUE" == *"/"* ]]; then REDIS_QUEUE=$(echo $REDIS_QUEUE | cut -f1 -d"/") fi REDIS_SOCKETIO=$(getUrl "$COMMON_SITE_CONFIG_JSON" "redis_socketio" | sed 's|redis://||g') if [[ "$REDIS_SOCKETIO" == *"/"* ]]; then REDIS_SOCKETIO=$(echo $REDIS_SOCKETIO | cut -f1 -d"/") fi echo "Check $DB_HOST:$DB_PORT" wait-for-it "$DB_HOST:$DB_PORT" -t 1 echo "Check $REDIS_CACHE" wait-for-it "$REDIS_CACHE" -t 1 echo "Check $REDIS_QUEUE" wait-for-it "$REDIS_QUEUE" -t 1 echo "Check $REDIS_SOCKETIO" wait-for-it "$REDIS_SOCKETIO" -t 1 if [[ "$1" = "-p" ]] || [[ "$1" = "--ping-service" ]]; then echo "Check $2" wait-for-it "$2" -t 1 fi