Junie's Blog
全部文章
- 文章
- 96
- 分类
- 7
- 字数
- 15.5 万
202669 篇
网页抓取已经拿到正文,加上浏览器兜底后却被判为失败,排查记录
普通 HTTP 请求已经抓到了导师的姓名和简介,只是浏览器解密邮箱时超时,整次抓取却被判定为失败。修正返回值之后,第二次请求仍然失败。
Backend1676 字阅读 – 次
分段抽取网页时,导师人数越抓越少,排查记录
某学院的教师目录本应有百余位老师,抓取后却只剩 3 位。排查发现问题不在分块阈值,而是把流程分支的判断权交给了 LLM,它学会了走捷径。
AI / Agent2488 字阅读 – 次
先查后写仍然报重复冲突,SQLite 并发写入的排查记录
代码的逻辑看似没有问题:先用 SELECT 查一下,没有就 INSERT,有就 UPDATE。但在并发请求下,SQLite 的唯一索引仍然报错。本文介绍如何用原生 Upsert 替代先查后写。
Backend1510 字阅读 – 次
同一份导师列表,后台管理页秒开,首页却卡顿 20 秒,排查记录
两个页面都展示 5000 位导师,管理页很快,首页却转了将近 20 秒。排查发现问题不在 React 渲染,也不是缺少数据库索引,而是 ORM 把几万封邮件的正文全部加载到了内存里。
Backend1748 字阅读 – 次
批量发邮件的防重设计,避免同一个人收到两封相同的邮件
群发或自动化邮件系统里,发送失败可以重试,但同一个重要收件人收到两封相同的邮件会造成明显的负面影响。一次偶发的重复投递,促使我们重新划分了系统中有副作用的环节。
Backend1955 字阅读 – 次
邮件只发了一次,“已发送”文件夹里却有两份副本,原因排查
对方只收到了一封邮件,发件人的“已发送”文件夹里却有两份一模一样的副本。原因是客户端的兜底逻辑和邮箱服务商的异步存档同时写入了同一封邮件。
Backend1575 字阅读 – 次
同步历史邮件时陷入 6000 天的死循环,排查记录
历史邮件同步的日志一直在跳动,“已扫描 8 万封”的数字不断增加,匹配记录却始终为 0。按当前速度估算,跑完需要 16 年。问题出在把稀疏的 UID 当成连续序列来遍历。
Backend1625 字阅读 – 次