继续熟悉github-copilot对系统架构进行优化;async的深入理解;

1.继续熟悉github-copilot对系统架构进行优化;
👉对所有线程池改成 async 看起来是个好主意;
👉系统本身就是需要大量处理文件,async 看起来是个好主意;
1️⃣ I/O 密集型:非常适合 async
2️⃣高并发下 async 会明显更稳、更省资源

👉虽然将系统内所有非异步方法改为了异步,但github-copilot发现pypdf.PdfReader仍然是同步操作,
1️⃣循环会被卡住
2️⃣所有请求一起“假死”

2.async的深入理解;
异步不是系统属性,而是“边界属性”
👉 只有“等待别人”的地方,才值得 async

位置 是否 async 原因
HTTP / RPC ✅ 必须 I/O 等待
DB / Redis 网络
LLM / Ollama 远程调用
文件上传 / 下载 I/O
PDF / OCR ❌(用 to_thread) 阻塞
业务逻辑 无等待
算法 / 处理 CPU
domain model 可测试性

👉一句以上建议与理解,我让github-copilot
合理化整个项目的同步与异步方法。HTTP、Ollama、LLM、文件上传与下载都为异步(还有一点,调用了异步方法的方法,都是异步方法)。
PDF页数解析改为线程池。业务逻辑,算法 / 处理、domain model都为同步方法。

经过github-copilot检查,整个系统都是依照以上规则进行的;

posted @ 2026-01-28 09:25  asphyxiasea  阅读(5)  评论(0)    收藏  举报