fix(entrypoint): fail-fast if Flask does not bind within timeout instead of silently starting Caddy with no backend
This commit is contained in:
@@ -33,17 +33,20 @@ cat > /etc/caddy/Caddyfile <<EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
python3 /opt/server.py &
|
python3 /opt/server.py &
|
||||||
|
FLASK_PID=$!
|
||||||
|
|
||||||
# Wait for Flask to be ready before handing off to Caddy
|
# Wait for Flask to be ready before handing off to Caddy
|
||||||
python3 -c "
|
python3 -c "
|
||||||
import socket, time
|
import socket, sys, time
|
||||||
for _ in range(40):
|
for _ in range(80):
|
||||||
try:
|
try:
|
||||||
s = socket.create_connection(('127.0.0.1', 8080), timeout=0.25)
|
s = socket.create_connection(('127.0.0.1', 8080), timeout=0.25)
|
||||||
s.close()
|
s.close()
|
||||||
break
|
sys.exit(0)
|
||||||
except OSError:
|
except OSError:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
"
|
print('Flask did not bind to :8080 in time', file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
" || { echo 'Flask startup failed — aborting'; kill $FLASK_PID 2>/dev/null; exit 1; }
|
||||||
|
|
||||||
exec caddy run --config /etc/caddy/Caddyfile
|
exec caddy run --config /etc/caddy/Caddyfile
|
||||||
|
|||||||
@@ -68,17 +68,20 @@ cat > /etc/caddy/Caddyfile <<EOF
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
python3 /opt/server.py &
|
python3 /opt/server.py &
|
||||||
|
FLASK_PID=$!
|
||||||
|
|
||||||
# Wait for Flask to be ready before handing off to Caddy
|
# Wait for Flask to be ready before handing off to Caddy
|
||||||
python3 -c "
|
python3 -c "
|
||||||
import socket, time
|
import socket, sys, time
|
||||||
for _ in range(40):
|
for _ in range(80):
|
||||||
try:
|
try:
|
||||||
s = socket.create_connection(('127.0.0.1', 8080), timeout=0.25)
|
s = socket.create_connection(('127.0.0.1', 8080), timeout=0.25)
|
||||||
s.close()
|
s.close()
|
||||||
break
|
sys.exit(0)
|
||||||
except OSError:
|
except OSError:
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
"
|
print('Flask did not bind to :8080 in time', file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
" || { echo 'Flask startup failed — aborting'; kill $FLASK_PID 2>/dev/null; exit 1; }
|
||||||
|
|
||||||
exec caddy run --config /etc/caddy/Caddyfile
|
exec caddy run --config /etc/caddy/Caddyfile
|
||||||
|
|||||||
Reference in New Issue
Block a user