46 lines
1.1 KiB
Bash
46 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# AI MIP 后台启动脚本
|
|
|
|
PROJECT_DIR="/home/work/ai_mip"
|
|
cd ${PROJECT_DIR}
|
|
|
|
echo "[INFO] 检查是否有运行中的服务..."
|
|
# 查找并停止旧进程
|
|
OLD_PID=$(pgrep -f "python main.py")
|
|
|
|
if [ ! -z "$OLD_PID" ]; then
|
|
echo "[WARN] 发现运行中的服务 (PID: $OLD_PID),正在停止..."
|
|
pkill -f "python main.py"
|
|
sleep 2
|
|
echo "[INFO] 旧服务已停止"
|
|
else
|
|
echo "[INFO] 没有运行中的服务"
|
|
fi
|
|
|
|
echo "[INFO] 正在启动服务..."
|
|
# 激活虚拟环境并后台运行
|
|
if [ ! -d "venv" ]; then
|
|
echo "[ERROR] 虚拟环境不存在,请先执行: python3 -m venv venv"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f "venv/bin/activate" ]; then
|
|
echo "[ERROR] 虚拟环境激活脚本不存在"
|
|
exit 1
|
|
fi
|
|
|
|
source venv/bin/activate
|
|
|
|
# 检查依赖是否安装
|
|
if ! python -c "import schedule" 2>/dev/null; then
|
|
echo "[WARN] 依赖未安装,正在安装..."
|
|
pip install -r requirements.txt
|
|
fi
|
|
|
|
nohup python main.py --workers 3 --health-port 8899 > logs/service.log 2>&1 &
|
|
|
|
NEW_PID=$!
|
|
echo "[INFO] 服务已启动"
|
|
echo "[INFO] 进程ID: $NEW_PID"
|
|
echo "[INFO] 查看日志: tail -f ${PROJECT_DIR}/logs/service.log"
|