From 3cf44b4a6133cf88b81985aae122fd43458cce28 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 6 Sep 2026 06:54:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(bioflow):=20=E9=83=A8=E7=BD=B2=E5=8A=A0?= =?UTF-8?q?=E5=9B=BA=E2=80=94=E2=80=94=E7=94=9F=E4=BF=A1=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=20SSE=20=E8=B7=AF=E7=94=B1=E5=85=A5=E7=BC=96=E8=AF=91=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95(=E6=96=AD=E6=B5=81=E5=B4=A9=E6=BA=83?= =?UTF-8?q?=E6=A0=B9=E6=B2=BB=E5=90=8C=E6=AC=BE)+bff=5Frestart=20=E6=9D=80?= =?UTF-8?q?=E8=BF=9B=E7=A8=8B=E6=8C=89=E7=AB=AF=E5=8F=A3=E7=B2=BE=E7=A1=AE?= =?UTF-8?q?(=E9=98=B2=E8=AF=AF=E6=9D=80=208098)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- bioflow_service/build.sh | 4 ++++ deploy/bff_restart.sh | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/bioflow_service/build.sh b/bioflow_service/build.sh index 85b8fc2..34caea7 100755 --- a/bioflow_service/build.sh +++ b/bioflow_service/build.sh @@ -45,6 +45,10 @@ WHITELIST_PY=( "app/config.py" "app/schemas.py" "app/db.py" + # SSE 流式路由(TL 2026-09-06 补)——与 sdk 侧断流崩溃根治同款教训: + # 客户端中途断开时 Cython 协程取消断言会 abort 整个进程,明文走 CPython 原生协程 + "app/routers/bioflow.py" + "app/routers/biojobs.py" ) _is_whitelisted() { local rel="$1" diff --git a/deploy/bff_restart.sh b/deploy/bff_restart.sh index 62aca1f..3360096 100755 --- a/deploy/bff_restart.sh +++ b/deploy/bff_restart.sh @@ -10,8 +10,14 @@ PYTHON="/home/xzq/5090/teamWorkspace/zh/plantai-rag-new-venv/bin/python" BIND="${1:-127.0.0.1}" [[ -x "$PYTHON" ]] || { echo "BFF Python 不可执行: $PYTHON" >&2; exit 1; } -# 杀旧进程([u] 正则技巧防 pkill 自匹配) -pkill -f "[a]pp.main:app" 2>/dev/null +# 杀旧进程:按 8090 端口精确匹配(TL 2026-09-06 修—— +# 旧 pkill 模式 "app.main:app" 会误杀 8098 生信服务,两者同为 uvicorn app.main:app) +if command -v lsof >/dev/null 2>&1; then + OLD_PID="$(lsof -ti tcp:8090 2>/dev/null || true)" + [ -n "$OLD_PID" ] && kill "$OLD_PID" 2>/dev/null || true +else + pkill -f "[a]pp.main:app.*--port 8090" 2>/dev/null || true +fi sleep 2 cd "$SDK_ROOT"