#!/bin/bash
# =========================================================
# CHECK BACKEND - Verifica e riavvia backend Python se necessario
# Usa systemctl per gestire il servizio (con virtual environment)
# Nota: questo script può girare come root o come user ids
# =========================================================

LOG_FILE="/var/log/ids/backend.log"

mkdir -p /var/log/ids

# Check if systemd service is active
if systemctl is-active --quiet ids-ml-backend; then
    exit 0
fi

# Verifica anche se il processo Python è attivo (fallback)
if pgrep -f "python.*main.py" > /dev/null; then
    exit 0
fi

echo "[$(date)] Backend Python NON attivo, riavvio..." >> "$LOG_FILE"

# Prova prima con systemctl (funziona se eseguito come root o con sudo configurato)
if [ "$(id -u)" -eq 0 ]; then
    systemctl restart ids-ml-backend
else
    # Se non siamo root, prova con sudo (richiede sudoers configurato)
    sudo systemctl restart ids-ml-backend 2>/dev/null
fi

# Wait for startup
sleep 5

if systemctl is-active --quiet ids-ml-backend || pgrep -f "python.*main.py" > /dev/null; then
    echo "[$(date)] Backend riavviato con successo" >> "$LOG_FILE"
else
    echo "[$(date)] ERRORE: Backend non si è avviato. Controlla: journalctl -u ids-ml-backend" >> "$LOG_FILE"
fi
