Remove watchdog again...

This commit is contained in:
2025-07-04 23:37:48 +02:00
parent fdc405f853
commit ab17a1c015
3 changed files with 11 additions and 41 deletions

View File

@@ -5,7 +5,6 @@ RUN apt-get update && apt-get install -y wget
ENV MAX_LOGS="20" ENV MAX_LOGS="20"
ENV LOG_DIR="/var/log/glassminers" ENV LOG_DIR="/var/log/glassminers"
ENV LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" ENV LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S"
ENV WATCHDOG_ENABLED="false"
RUN mkdir -p ${LOG_DIR} RUN mkdir -p ${LOG_DIR}

View File

@@ -9,7 +9,6 @@ services:
- MAX_LOGS=20 - MAX_LOGS=20
# - LOG_DIR="/var/log/glassminers" # - LOG_DIR="/var/log/glassminers"
# - LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" # No spaces # - LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" # No spaces
# - WATCHDOG_ENABLED="false" # Use docker restart behavior instead of internal watchdog
volumes: volumes:
- ./logs:/var/log/glassminers - ./logs:/var/log/glassminers
ports: ports:

View File

@@ -3,10 +3,9 @@
MAX_LOGS=${MAX_LOGS:-20} MAX_LOGS=${MAX_LOGS:-20}
LOG_DIR=${LOG_DIR:-"/var/log/glassminers"} LOG_DIR=${LOG_DIR:-"/var/log/glassminers"}
LOG_DATE_FORMAT=${LOG_DATE_FORMAT:-"%Y-%m-%d-%H-%M-%S"} LOG_DATE_FORMAT=${LOG_DATE_FORMAT:-"%Y-%m-%d-%H-%M-%S"}
WATCHDOG_ENABLED=${WATCHDOG_ENABLED:-false}
MAX_RETRIES=${MAX_RETRIES:-10}
mkdir -p "$LOG_DIR" EXEC=./server.out
TIMESTAMP=$(date +"$LOG_DATE_FORMAT")
delete_old_logs() { delete_old_logs() {
if [ -d "$LOG_DIR" ]; then if [ -d "$LOG_DIR" ]; then
@@ -37,44 +36,17 @@ clean_up() {
delete_old_logs delete_old_logs
} }
trap 'clean_up; shutdown_requested=true; kill -TERM $SERVER_PID' SIGTERM SIGINT trap 'clean_up; exit 0' SIGTERM
echo "[Info] Max number of logs set to $MAX_LOGS" echo "[Info] Max number of logs set to $MAX_LOGS"
echo "[Info] Watchdog enabled: $WATCHDOG_ENABLED" echo "[Info] Server is starting at [$TIMESTAMP]"
echo "[Info] Max retries: $MAX_RETRIES" $EXEC >"$LOG_DIR/latest.log" &
SERVER_PID=$!
shutdown_requested=false wait $SERVER_PID
retry_count=0 EXIT_STATUS=$?
while true; do
TIMESTAMP=$(date +"$LOG_DATE_FORMAT")
echo "[Info] Server is starting at [$TIMESTAMP]"
$EXEC >"$LOG_DIR/latest.log" 2>&1 &
SERVER_PID=$!
wait $SERVER_PID
EXIT_STATUS=$?
echo "[Info] Server stopped at [$(date +"$LOG_DATE_FORMAT")] with exit code: $EXIT_STATUS"
if [ "$shutdown_requested" = true ] || [ $EXIT_STATUS -eq 0 ]; then
break
fi
if [ "$WATCHDOG_ENABLED" = true ]; then
if [ $retry_count -lt $MAX_RETRIES ]; then
retry_count=$((retry_count + 1))
clean_up
echo "[Warning] Watchdog restarting server after crash (attempt $retry_count/$MAX_RETRIES)"
sleep 5
else
echo "[Error] Max retries reached ($MAX_RETRIES). Watchdog stopping."
break
fi
else
break
fi
done
clean_up clean_up
echo "[Info] Watchdog script exiting"
echo "[Info] Server stopped at [$(date +"$LOG_DATE_FORMAT")] with exit code: $EXIT_STATUS"
sleep 5