#!/bin/bash
# HC900Crawler 시작 스크립트
# 사용: ./start.sh [--background]

PROJ=/home/windpacer/projects/hc900_ax
LOG=/tmp/hc900_crawler.log

# Docker 컨테이너 확인
echo "[1/3] Docker 컨테이너 확인..."
for NAME in iiot-timescaledb qdrant-index; do
    if docker ps --format '{{.Names}}' | grep -q "^${NAME}$"; then
        echo "  ✓ $NAME 실행 중"
    else
        echo "  ! $NAME 중지됨 → 시작 시도"
        docker start "$NAME" 2>/dev/null && echo "  ✓ $NAME 시작" || echo "  ✗ $NAME 시작 실패"
    fi
done

# 기존 프로세스 정리
echo "[2/3] 기존 프로세스 정리..."
pkill -f "Hc900Crawler" 2>/dev/null && echo "  기존 크롤러 종료" || true
pkill -f "hc900_gateway" 2>/dev/null && echo "  기존 게이트웨이 종료" || true
sleep 2

# 크롤러 시작 (게이트웨이 자동 포함)
echo "[3/3] HC900Crawler 시작..."
cd "$PROJ/src/Hc900Crawler"

if [[ "$1" == "--background" || "$1" == "-b" ]]; then
    nohup dotnet run > "$LOG" 2>&1 &
    PID=$!
    sleep 5
    if kill -0 $PID 2>/dev/null; then
        echo "  ✓ 백그라운드 실행 중 (PID=$PID)"
        echo "  ✓ 로그: tail -f $LOG"
        echo "  ✓ 웹 UI: http://localhost:5000"
    else
        echo "  ✗ 시작 실패 — 로그 확인: $LOG"
    fi
else
    echo "  포그라운드 실행 (Ctrl+C로 종료)"
    echo "  로그: $LOG"
    echo "  웹 UI: http://localhost:5000"
    dotnet run
fi
