6b790e77f6
每个模块提供两个版本: - run_xxxx() → Popen非阻塞(给API用) - run_xxxx_blocking() → subprocess.run阻塞(给定时任务用) API端点全部改为立即返回XX已后台启动,不再等子进程完成 受影响端点: /generate/run (原30min→12ms) /review/run (原10min→12ms) /collect/run (原5min→12ms,已修复) /optimize-sources/run (原2min→12ms) /trends/run (原2min→12ms) /refresh-search-cache/run (原10min→12ms) /metrics-sync/run (原N×10s→12ms) 同时增加对应GET状态端点:/collect/status,/generate/status,/review/status
50 lines
1.1 KiB
Bash
Executable File
50 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# 宇之然内容管理平台 - 统一启动脚本
|
|
# 启动 Web 管理界面
|
|
|
|
set -e
|
|
|
|
echo "========================================"
|
|
echo "宇之然内容管理平台"
|
|
echo "========================================"
|
|
|
|
PLATFORM_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/platform" && pwd)"
|
|
|
|
if [ ! -d "$PLATFORM_DIR" ]; then
|
|
echo "❌ 错误: platform 目录不存在: $PLATFORM_DIR"
|
|
exit 1
|
|
fi
|
|
|
|
echo "项目目录: $(dirname "$PLATFORM_DIR")"
|
|
echo "平台目录: $PLATFORM_DIR"
|
|
echo "========================================"
|
|
echo ""
|
|
|
|
cd "$PLATFORM_DIR"
|
|
|
|
# 检查虚拟环境
|
|
VENV_PYTHON="$PLATFORM_DIR/backend/venv/bin/python"
|
|
if [ -f "$VENV_PYTHON" ]; then
|
|
PYTHON_CMD="$VENV_PYTHON"
|
|
else
|
|
PYTHON_CMD="python3"
|
|
fi
|
|
|
|
# 检查依赖
|
|
echo "检查依赖..."
|
|
$PYTHON_CMD -m pip install -q -r backend/requirements.txt
|
|
|
|
# 启动服务
|
|
PORT=${1:-8001}
|
|
echo ""
|
|
echo "🚀 启动服务..."
|
|
echo "端口: $PORT"
|
|
echo "界面: http://localhost:$PORT/"
|
|
echo "API: http://localhost:$PORT/docs"
|
|
echo "========================================"
|
|
echo ""
|
|
|
|
cd backend
|
|
exec $PYTHON_CMD -m uvicorn app.main:app --host 0.0.0.0 --port $PORT --workers 2
|