This commit is contained in:
+23
-6
@@ -538,12 +538,25 @@ write_env_file_preserving_unknown() {
|
||||
}
|
||||
|
||||
wait_for_health() {
|
||||
local attempts=0
|
||||
local attempts=0 active_state restart_count
|
||||
log "Waiting for application startup at $HEALTH_URL"
|
||||
while [ "$attempts" -lt 60 ]; do
|
||||
if curl -fsS "$HEALTH_URL" | jq -e '.status == "UP"' >/dev/null 2>&1; then
|
||||
if curl --fail --silent --connect-timeout 1 --max-time 2 "$HEALTH_URL" 2>/dev/null \
|
||||
| jq -e '.status == "UP"' >/dev/null 2>&1; then
|
||||
log "Application health check is UP"
|
||||
return 0
|
||||
fi
|
||||
active_state=$(systemctl show kaidi-finance.service --property=ActiveState --value 2>/dev/null || printf unknown)
|
||||
restart_count=$(systemctl show kaidi-finance.service --property=NRestarts --value 2>/dev/null || printf 0)
|
||||
[[ "$restart_count" =~ ^[0-9]+$ ]] || restart_count=0
|
||||
if [ "$active_state" = failed ] || [ "$restart_count" -ge 3 ]; then
|
||||
journalctl -u kaidi-finance.service -n 80 --no-pager >&2 || true
|
||||
die "Application service failed during startup (state=$active_state, restarts=$restart_count)"
|
||||
fi
|
||||
attempts=$((attempts + 1))
|
||||
if [ $((attempts % 5)) -eq 0 ]; then
|
||||
log "Application is still starting (state=$active_state, elapsed=$((attempts * 2))s)"
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
journalctl -u kaidi-finance.service -n 80 --no-pager >&2 || true
|
||||
@@ -573,10 +586,14 @@ backup_managed_state() {
|
||||
fi
|
||||
index=$((index + 1))
|
||||
done
|
||||
systemctl is-active --quiet kaidi-finance.service && PREVIOUS_APP_ACTIVE=true || PREVIOUS_APP_ACTIVE=false
|
||||
systemctl is-enabled --quiet kaidi-finance.service && PREVIOUS_APP_ENABLED=true || PREVIOUS_APP_ENABLED=false
|
||||
systemctl is-active --quiet kaidi-update.path && PREVIOUS_UPDATE_ACTIVE=true || PREVIOUS_UPDATE_ACTIVE=false
|
||||
systemctl is-enabled --quiet kaidi-update.path && PREVIOUS_UPDATE_ENABLED=true || PREVIOUS_UPDATE_ENABLED=false
|
||||
systemctl is-active --quiet kaidi-finance.service >/dev/null 2>&1 \
|
||||
&& PREVIOUS_APP_ACTIVE=true || PREVIOUS_APP_ACTIVE=false
|
||||
systemctl is-enabled --quiet kaidi-finance.service >/dev/null 2>&1 \
|
||||
&& PREVIOUS_APP_ENABLED=true || PREVIOUS_APP_ENABLED=false
|
||||
systemctl is-active --quiet kaidi-update.path >/dev/null 2>&1 \
|
||||
&& PREVIOUS_UPDATE_ACTIVE=true || PREVIOUS_UPDATE_ACTIVE=false
|
||||
systemctl is-enabled --quiet kaidi-update.path >/dev/null 2>&1 \
|
||||
&& PREVIOUS_UPDATE_ENABLED=true || PREVIOUS_UPDATE_ENABLED=false
|
||||
INSTALL_TRANSACTION_ARMED=true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user