| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/bin/bash
- # GAT-LSTM TMP预测模型 API 服务启动脚本
- # 使用方法: bash start.sh [dev|prod]
- set -e
- # 默认配置
- MODE=${1:-prod}
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- LOG_DIR="$SCRIPT_DIR/logs"
- LOG_FILE="$LOG_DIR/api.log"
- PID_FILE="$SCRIPT_DIR/api.pid"
- echo "[启动] 启动GAT-LSTM TMP预测模型 API 服务..."
- # 创建日志目录
- mkdir -p "$LOG_DIR"
- # 检查是否已经在运行
- if [ -f "$PID_FILE" ]; then
- PID=$(cat "$PID_FILE")
- if ps -p $PID > /dev/null 2>&1; then
- echo "[警告] 服务已经在运行 (PID: $PID)"
- echo " 如需重启,请先运行: bash stop.sh"
- exit 1
- else
- echo "[清理] 清理旧的PID文件"
- rm -f "$PID_FILE"
- fi
- fi
- # 根据模式设置环境变量
- if [ "$MODE" = "dev" ]; then
- echo "[开发模式] 启动开发模式 (详细日志)"
- export LOG_LEVEL=INFO
- export DETAILED_LOGS=true
- LOG_FILE="$LOG_DIR/api_debug.log"
- else
- echo "[生产模式] 启动生产模式 (精简日志)"
- export LOG_LEVEL=INFO
- export DETAILED_LOGS=false
- fi
- # 启动服务
- echo "[启动服务] 启动服务..."
- cd "$SCRIPT_DIR"
- nohup python api_main.py > "$LOG_FILE" 2>&1 &
- PID=$!
- # 保存PID
- echo $PID > "$PID_FILE"
- # 等待服务启动
- echo "[等待] 等待服务启动..."
- sleep 3
- # 检查服务是否启动成功
- if ps -p $PID > /dev/null 2>&1; then
- echo "[成功] 服务启动成功!"
- echo " PID: $PID"
- echo " 工作目录: $SCRIPT_DIR"
- echo " 日志文件: $LOG_FILE"
- echo " API文档: http://localhost:7980/docs"
- echo " 测试接口: http://localhost:7980/api/v1/process_model/test_double_membrance_from_file"
- echo ""
- echo "[管理命令]"
- echo " 查看日志: tail -f $LOG_FILE"
- echo " 停止服务: bash stop.sh"
- echo " 查看状态: bash status.sh"
- else
- echo "[失败] 服务启动失败!"
- echo " 请检查日志文件: $LOG_FILE"
- rm -f "$PID_FILE"
- exit 1
- fi
|