fix and update
This commit is contained in:
@@ -1,50 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
NGINX_CONTAINER="${NGINX_CONTAINER:-lendry-id-nginx}"
|
||||
GATEWAY_CONTAINER="${GATEWAY_CONTAINER:-lendry-id-api-gateway}"
|
||||
BOOT_WAIT_SEC="${BOOT_WAIT_SEC:-55}"
|
||||
GATEWAY_HEALTH_URL="http://${GATEWAY_CONTAINER}:3000/health"
|
||||
|
||||
reload_nginx() {
|
||||
if docker exec "$NGINX_CONTAINER" nginx -s reload 2>/dev/null; then
|
||||
echo "[nginx-gateway-sync] nginx reload OK"
|
||||
else
|
||||
echo "[nginx-gateway-sync] nginx reload failed — пробуем restart"
|
||||
docker restart "$NGINX_CONTAINER" >/dev/null 2>&1 || true
|
||||
fi
|
||||
}
|
||||
|
||||
verify_gateway() {
|
||||
if docker exec "$NGINX_CONTAINER" wget -qO- --timeout=5 "$GATEWAY_HEALTH_URL" 2>/dev/null \
|
||||
| grep -q '"status"'; then
|
||||
echo "[nginx-gateway-sync] nginx → ${GATEWAY_CONTAINER}:3000/health OK"
|
||||
else
|
||||
echo "[nginx-gateway-sync] предупреждение: nginx пока не достучался до ${GATEWAY_HEALTH_URL}"
|
||||
fi
|
||||
}
|
||||
|
||||
on_gateway_start() {
|
||||
echo "[nginx-gateway-sync] ${GATEWAY_CONTAINER} перезапущен, ждём Nest (${BOOT_WAIT_SEC}s)..."
|
||||
sleep "$BOOT_WAIT_SEC"
|
||||
reload_nginx
|
||||
sleep 2
|
||||
verify_gateway
|
||||
}
|
||||
|
||||
echo "[nginx-gateway-sync] слежение за ${GATEWAY_CONTAINER} (boot wait ${BOOT_WAIT_SEC}s)..."
|
||||
|
||||
# Первый запуск стека: gateway уже healthy, но nginx мог стартовать раньше — синхронизируем.
|
||||
(
|
||||
sleep "$BOOT_WAIT_SEC"
|
||||
reload_nginx
|
||||
sleep 2
|
||||
verify_gateway
|
||||
) &
|
||||
|
||||
docker events \
|
||||
--filter "container=${GATEWAY_CONTAINER}" \
|
||||
--filter event=start \
|
||||
--format '{{.Time}}' | while read -r _; do
|
||||
on_gateway_start
|
||||
done
|
||||
Reference in New Issue
Block a user