- normalized_release EXPECTED_RELEASE defaults to NORMALIZED_RELEASE_ID (plant value) - from_env falls back to constant on empty env; backend_guard uses env-or-constant - start.sh sources env/active_library.env after prod.env (qa + legacy-rag) - build_all.sh --library <name|dir> renders library identity (no name whitelist) - add kb-libraries skeleton (plant/aqua identity cards) and tooling/aqua_kb Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
57 lines
1.8 KiB
Bash
Executable File
57 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# agent/legacy-rag/scripts/start.sh —— 旧路由族服务唯一启动接口
|
|
# 用法:bash scripts/start.sh [port] [app|main]
|
|
# app = 3 路由(生产 7900 同源,默认) / main = 11 路由裁剪版
|
|
set -euo pipefail
|
|
AGENT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
PORT="${1:-8093}" # 终态端口
|
|
ENTRY="${2:-app}"
|
|
ENV_FILE="${LEGACY_ENV_FILE:-$AGENT_ROOT/env/prod.env}"
|
|
LOG_FILE="${LEGACY_LOG_FILE:-/tmp/plantai-agent-legacy-$PORT.log}"
|
|
PID_FILE="$AGENT_ROOT/run/legacy-$PORT.pid"
|
|
PYTHON="${LEGACY_PYTHON:-$AGENT_ROOT/../venv/bin/python}"
|
|
[[ -x "$PYTHON" ]] || PYTHON="/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python"
|
|
BIND="${LEGACY_API_HOST:-127.0.0.1}"
|
|
|
|
case "$ENTRY" in
|
|
app) APP_MOD="api.app:app" ;;
|
|
main) APP_MOD="api.main:app" ;;
|
|
*) echo "未知入口: $ENTRY (app|main)" >&2; exit 2 ;;
|
|
esac
|
|
|
|
mkdir -p "$AGENT_ROOT/run"
|
|
[[ -x "$PYTHON" ]] || { echo "legacy 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 "legacy-rag 已在运行 pid=$(cat "$PID_FILE")" >&2
|
|
exit 1
|
|
fi
|
|
|
|
set -a
|
|
# shellcheck disable=SC1090
|
|
. "$ENV_FILE"
|
|
set +a
|
|
|
|
if [[ -f "$AGENT_ROOT/env/active_library.env" ]]; then
|
|
set -a; . "$AGENT_ROOT/env/active_library.env"; set +a
|
|
fi
|
|
|
|
cd "$AGENT_ROOT"
|
|
setsid "$PYTHON" -m uvicorn "$APP_MOD" \
|
|
--host "$BIND" --port "$PORT" \
|
|
> "$LOG_FILE" 2>&1 < /dev/null &
|
|
echo $! > "$PID_FILE"
|
|
disown
|
|
|
|
for _ in $(seq 1 30); do
|
|
if curl -sf --max-time 3 "http://127.0.0.1:$PORT/health" >/dev/null 2>&1; then
|
|
echo "legacy-rag UP ($ENTRY, $BIND:$PORT, pid=$(cat "$PID_FILE"))"
|
|
exit 0
|
|
fi
|
|
sleep 2
|
|
done
|
|
echo "legacy-rag FAIL —— 日志尾部:" >&2
|
|
tail -30 "$LOG_FILE" >&2
|
|
exit 1
|