- U0:新建 plantai-rag-new-venv(3.12.13,130 包),torch 2.13.0+cpu/cython 3.2.8/faiss 1.14.3/openai 3.3.1,requirements.lock 固化 - U1:四树全 venv 重编译(sdk 15/qa 45/methodology 28/legacy 283 .so 全 cp312),audit 双审计过 - U2:备用端口影子对照:金标 search evidence 30/30 与生产一致、SDK pytest 125 过、五上游绿 - U3:统一树切终态 8091/8092/8093 + BFF 8090(venv),停旧服务(容器/进程不删,30 天窗) - U4:minerupy311→minerupy312 断链修复、GF_PYTHON_ENV 回退统一、start-dev/run/bff_restart 去 conda、server.env/README 更新 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
44 lines
1.5 KiB
Bash
Executable File
44 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# agent/methodology/scripts/start.sh —— Methodology 服务唯一启动接口
|
|
# 用法:bash scripts/start.sh [port] (默认 8092 终态;浸泡期影子用 8001)
|
|
set -euo pipefail
|
|
AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
PORT="${1:-8092}" # 终态端口
|
|
ENV_FILE="${METHODOLOGY_ENV_FILE:-$AGENT_ROOT/env/prod.env}"
|
|
LOG_FILE="${METHODOLOGY_LOG_FILE:-/tmp/plantai-agent-methodology-$PORT.log}"
|
|
PID_FILE="$AGENT_ROOT/run/methodology-$PORT.pid"
|
|
PYTHON="${METHODOLOGY_PYTHON:-/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python}"
|
|
BIND="${METHODOLOGY_API_HOST:-0.0.0.0}"
|
|
|
|
mkdir -p "$AGENT_ROOT/run"
|
|
[[ -x "$PYTHON" ]] || { echo "Methodology Python 不可执行: $PYTHON" >&2; exit 1; }
|
|
[[ -f "$ENV_FILE" ]] || { echo "缺少 env 文件: $ENV_FILE" >&2; exit 1; }
|
|
|
|
if [[ -f "$PID_FILE" ]] && kill -0 "$(cat "$PID_FILE")" 2>/dev/null; then
|
|
echo "Methodology 已在运行 pid=$(cat "$PID_FILE")" >&2
|
|
exit 1
|
|
fi
|
|
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
. "$ENV_FILE"
|
|
set +a
|
|
|
|
cd "$AGENT_ROOT"
|
|
setsid "$PYTHON" -m uvicorn scripts.methodology_server:app \
|
|
--host "$BIND" --port "$PORT" \
|
|
> "$LOG_FILE" 2>&1 < /dev/null &
|
|
echo $! > "$PID_FILE"
|
|
disown
|
|
|
|
for _ in $(seq 1 20); do
|
|
if curl -sf --max-time 3 "http://127.0.0.1:$PORT/health" >/dev/null 2>&1; then
|
|
echo "Methodology UP ($BIND:$PORT, pid=$(cat "$PID_FILE"))"
|
|
exit 0
|
|
fi
|
|
sleep 2
|
|
done
|
|
echo "Methodology FAIL —— 日志尾部:" >&2
|
|
tail -30 "$LOG_FILE" >&2
|
|
exit 1
|