对rss feed做变更记录与复盘,正确做法不是盯着订阅数或抓取频率猜发生了什么,而是把每次改动写成一条可核对的条目:改了什么文件、改前改后各是什么、为什么改、预期影响哪个环节、过多久用什么指标回看。订阅数只是结果之一,不能反推出你改了哪一行。时间和人手有限时,先记录会直接影响解析和收录的字段,其余留到有余力再补。
很多人把rss feed的订阅数或阅读量当成变更日志,看到数字波动就回头改文件。问题在于,订阅数受客户端轮询周期、平台缓存、读者主动退订、聚合器策略等多种因素影响,和你某次修改标题或条目顺序之间没有稳定的一一对应。把结果指标当原因记录,复盘时只会得到互相矛盾的结论。
更麻烦的是,feed文件一旦被下游缓存,你的改动可能几小时甚至更久才体现出来。此时数字没变,不代表改动无效;数字变了,也不一定是你这次改的。所以记录的对象必须是你实际动过的内容,而不是你希望它带来的效果。
时间和人手有限时,不必把所有字段都记全。按对解析和收录的影响程度,优先记下面这些:
title、link、guid、pubDate是否被改动,尤其是guid,它一变,下游可能把旧条目当新条目重复推送。如果只能记一项,就记guid和link的变化,因为它们最容易引发重复收录或链接错乱。订阅数、阅读量这类结果指标可以另记一列,但要注明它是观察值,不是改动原因。
假设你刚调整了feed只输出最近20条,想确认这个改动是否合适。可以按下面步骤走:
guid没有意外变化。这套步骤的适用条件是:你有权限修改feed生成逻辑,且下游确实会消费你的feed。如果feed只是给少数固定读者用,回看周期可以拉长,记录也可以更简略。判断结果是保留还是回退,看的是解析是否正常、条目是否完整,而不是订阅数涨没涨。
复盘容易写成流水账,是因为把不同性质的结论混在一起。建议分开写:
guid重复,导致下游重复推送,这是能直接核对文件确认的。这样区分的好处是,下次遇到类似现象时,你知道哪些是确定事实、哪些只是猜测,不会把猜测当成经验沿用。人手有限时,优先处理已定位的原因,可能原因和假设记下来即可,不必每次追到底。
先给当前的feed文件做一次快照,然后写下最近一次改动的日期、内容和原因。如果连这次改动是什么都记不清,就从现在开始,在下一次修改前先补上这条记录,再动手改文件。