异步补齐长期不生效要查写入失败
更新于 2026-07-24
**「异步生成的内容(正文、缩略图、转码)标题摘要早就有、正文迟迟不补」,如果已经超过正常窗口很久,那就不是「还在处理中」,而是写入侧失败。** 异步阶段只能解释秒级/分钟级延迟,解释不了小时级的长期缺失。症状与误判
- 现象:部分文章只有标题和摘要,
content:encoded 一直为空。
- 误判:agent 用「RSS 先出标题摘要,正文稍后异步补齐」当根因。用户直接指出:「有的文章已经出现摘要和标题很久了,仍然没有补齐正文」 —— 这句话把「正常短暂异步」和「真故障」分开了。
- 真正根因:单篇正文约 17 KB,但实际保存了完整微信网页 3.4 MB,且同一份内容重复存到 SQLite、单篇缓存、RSS 文件缓存三处 → 磁盘被占满 → 正文其实抓到了,但写不进数据库 → 对外表现就是「只有标题摘要」。
可迁移的判断
- 磁盘满是隐性故障源:它很少以「磁盘满」报错出现,而是以「某类写入静默失败」出现。存储告警要早于功能异常。
- 排查顺序:先确定正常的异步窗口有多长(秒级还是分钟级)→ 超窗仍缺 → 去查写入链路的失败记录与磁盘/配额,而不是继续等或继续解释异步机制。
- 判断「还在处理中」要有证据:队列里还有这条任务、有重试记录。没有证据的「稍后会好」就是掩盖故障。
相关