#!/bin/bash

# 服务管理脚本
APP_NAME="lq_agent_platform_server"         # 自定义服务名称
PID_FILE="./gunicorn_log/gunicorn.pid"          # PID 文件路径
LOG_FILE="./gunicorn_log/gunicorn.log"          # 日志文件路径
#START_COMMAND="gunicorn -c gunicorn_config.py server.app:app"
START_COMMAND="python server/app.py --host 0.0.0.0 --port 8001"

case "$1" in
    start)
        if [ -f "$PID_FILE" ]; then
            if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then
                echo "✅ $APP_NAME 已在运行 (PID: $(cat $PID_FILE))"
                exit 1
            else
                rm -f "$PID_FILE"
            fi
        fi

        echo "🚀 启动 $APP_NAME..."
        nohup $START_COMMAND >> "$LOG_FILE" 2>&1 &
        echo $! > "$PID_FILE"
        echo "🟢 启动成功! PID: $(cat $PID_FILE)"
        echo "📝 日志输出: $LOG_FILE"
        ;;

    stop)
        if [ ! -f "$PID_FILE" ]; then
            echo "🔴 $APP_NAME 未运行"
            exit 1
        fi

        PID=$(cat "$PID_FILE")
        echo "🛑 停止 $APP_NAME (PID: $PID)..."
        kill -TERM $PID
        rm -f "$PID_FILE"
        echo "⭕ 已停止"
        ;;

    restart)
        $0 stop
        sleep 2
        $0 start
        ;;

    status)
        if [ -f "$PID_FILE" ]; then
            if kill -0 $(cat "$PID_FILE") >/dev/null 2>&1; then
                echo "🟢 $APP_NAME 正在运行 (PID: $(cat $PID_FILE))"
            else
                echo "❌ PID 文件存在但进程未运行"
                rm -f "$PID_FILE"
            fi
        else
            echo "🔴 $APP_NAME 未运行"
        fi
        ;;

    *)
        echo "使用方法: $0 {start|stop|restart|status}"
        exit 1
esac

exit 0