Fertig
This commit is contained in:
63
healthcheck.sh
Normal file
63
healthcheck.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Health check script for IIT Welders application
|
||||
# This script checks if the application is running and responding
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
HEALTH_URL="http://localhost:3000"
|
||||
TIMEOUT=10
|
||||
MAX_RETRIES=3
|
||||
|
||||
# Function to check health
|
||||
check_health() {
|
||||
local url=$1
|
||||
local timeout=$2
|
||||
|
||||
if curl -f -s --max-time $timeout "$url" > /dev/null 2>&1; then
|
||||
echo "✅ Health check passed: $url"
|
||||
return 0
|
||||
else
|
||||
echo "❌ Health check failed: $url"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to check if port is listening
|
||||
check_port() {
|
||||
local port=$1
|
||||
|
||||
if netstat -tuln | grep -q ":$port "; then
|
||||
echo "✅ Port $port is listening"
|
||||
return 0
|
||||
else
|
||||
echo "❌ Port $port is not listening"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Main health check
|
||||
echo "🔍 Starting health check for IIT Welders..."
|
||||
|
||||
# Check if port is listening
|
||||
if ! check_port 3000; then
|
||||
echo "❌ Application is not running on port 3000"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check application health
|
||||
retry_count=0
|
||||
while [ $retry_count -lt $MAX_RETRIES ]; do
|
||||
if check_health "$HEALTH_URL" $TIMEOUT; then
|
||||
echo "✅ Application is healthy and responding"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
retry_count=$((retry_count + 1))
|
||||
echo "⏳ Retry $retry_count/$MAX_RETRIES in 5 seconds..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
echo "❌ Health check failed after $MAX_RETRIES retries"
|
||||
exit 1
|
||||
Reference in New Issue
Block a user