lzf_0626
e85e958389
排障表补一条:所有页面一起卡 → Milvus 抖动 + 同步调用阻塞事件循环
## 为什么补这一条
把审查报告的 P1–P3 共 45 项按 8 个演示场景筛完,**"会砸演示"的是 0 条**
(P0 四条已全修)。剩下的分两类:37 项演示路径根本走不到,8 项是"边缘"
(平时无感、特定条件才暴露)。
这 8 项里只有 **P1-2** 属于"一处慢、全平台卡":检索层用的是**同步** Milvus 客户端,
单次 `search` 卡 3 秒会让整个 API 进程停摆 3 秒,连 Worker 心跳一起停。
它同时也是**最容易被误判**的一个 —— 现象是"客服、风控、看板一起变慢",
而排障表原有的 6 条全是**单点**故障(503 行情 / Worker 没起 / 浏览器缓存 /
知识库没同步 / MySQL 没起 / 风控样本用完),**没有一条对得上"全场同时变慢"**。
没有这一条,现场会往"服务挂了"的方向查,而它其实是外部依赖抖动、不需要改代码、
也不需要重启。
所以这条的价值不在改代码,而在**把一个边缘隐患变成一眼能认出的现象**:
演示版本选择不修 P1-2(Milvus 正常时完全无感),代价就是必须知道它长什么样。
## 依据(都是会话内实际核过的)
- 客服链路确认:`app/service/knowledge_tool.py:29` 的 `search_knowledge` 工具
→ `get_knowledge_search_service().search(...)`;
而 `knowledge_search_service.py:207-213 / 224 / 229` 调的是**同步** `MilvusClient`
(`app/infrastructure/vector_memory.py` 的 `def search(...)`,非 `async def`)。
- 对照:项目在其它 10+ 处已用 `asyncio.to_thread`(如
`app/infrastructure/fund_market_adapter.py:273/382`),说明异步规范已建立,
这 4 处是遗漏 —— 但**不是演示阻塞项**,本次不改。
- "风控日报会不会砸"(P1-6,报告标了【确定】)也核过了:`_distribution` 的
`counts` 键是字段**值**,两个调用点用的 `risk_level`(中文高/中/低)与
`alert_type` 都是字符串,`str(key) == key` 恒成立,**触发不了** —— 场景 6 安全。
## 改动范围
只改 `docs/44-演示流程.md` 的 §4 排障表,**新增一行**,未动其它内容。
2026-09-14 20:41:34 +08:00
..
2026-09-12 10:37:53 +08:00
2026-09-14 20:36:00 +08:00
2026-09-13 18:31:38 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-09 21:55:37 +08:00
2026-09-10 15:55:54 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 18:42:46 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 18:42:46 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 18:42:46 +08:00
2026-09-11 14:46:40 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 18:42:46 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 14:46:40 +08:00
2026-09-10 15:55:54 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 15:40:32 +08:00
2026-09-10 15:55:54 +08:00
2026-09-12 16:30:01 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 14:47:08 +08:00
2026-09-11 14:47:08 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 19:15:23 +08:00
2026-09-14 20:36:00 +08:00
2026-09-11 21:49:46 +08:00
2026-09-12 14:41:13 +08:00
2026-09-12 09:37:00 +08:00
2026-09-12 14:57:56 +08:00
2026-09-12 11:27:28 +08:00
2026-09-12 11:46:47 +08:00
2026-09-12 12:10:03 +08:00
2026-09-14 20:36:00 +08:00
2026-09-12 13:14:57 +08:00
2026-09-14 20:36:00 +08:00
2026-09-12 13:23:43 +08:00
2026-09-14 00:30:06 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:36:00 +08:00
2026-09-14 20:41:34 +08:00
2026-09-11 18:42:46 +08:00
2026-09-11 16:51:52 +08:00
2026-09-11 19:52:08 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 20:06:23 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 10:46:56 +08:00
2026-09-11 17:58:46 +08:00
2026-09-11 19:24:57 +08:00
2026-09-12 11:15:24 +08:00
2026-09-11 20:00:56 +08:00
2026-09-11 19:15:50 +08:00