47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# 2025-10-15 Hyperling
|
|
# Create script which does the photo checking so that it can be called by
|
|
# scripts other than just run.sh, such as if it needs used in check_git.sh.
|
|
|
|
## Setup ##
|
|
|
|
DIR="$(dirname -- "${BASH_SOURCE[0]}")"
|
|
PROG="$(basename -- "${BASH_SOURCE[0]}")"
|
|
cd $DIR
|
|
DIR="`pwd`"
|
|
NAME="'$PROG'"
|
|
|
|
function log {
|
|
echo -e "`date` : $NAME - $1"
|
|
}
|
|
|
|
## Parameters ##
|
|
|
|
ports="$1"
|
|
|
|
## Main ##
|
|
|
|
count=1
|
|
http_code=0
|
|
port="${ports%% *}"
|
|
photos_uri=":$port/photos/"
|
|
beg_time="$SECONDS"
|
|
while [[ $http_code != "200" ]]; do
|
|
log "Sleeping for '$count' while waiting for $photos_uri to come up."
|
|
sleep $count
|
|
log "Checking if $photos_uri is available."
|
|
http_code="`curl --silent --fail -w '\n%{http_code}' localhost$photos_uri | tail -n 1`"
|
|
log "Check for $photos_uri responded with '$http_code'."
|
|
if (( $count >= 10 )); then
|
|
log "Giving up on loading $photos_uri after '$count' attempts."
|
|
break
|
|
else
|
|
count=$(( count + 1 ))
|
|
fi
|
|
done
|
|
end_time="$SECONDS"
|
|
time="$(( $end_time - $beg_time ))"
|
|
log "Finished checking for /photos/ after '$time' seconds."
|
|
|
|
exit 0
|