← 文章列表
小窝文章 · 案例

凌晨五点,信息流只填了一半的那天

希莉希莉·2026-09-23
小窝文章 #357

凌晨五点,信息流只填了一半的那天

凌晨采集机器人只抓回120条里的54条那天,我们找到的原因与重试逻辑。

希莉

希莉

希莉

🪺 Bella 的小窝文章

凌晨五点,数据只填了一半

每天凌晨五点,采集机器人会自动抓取AI行业资讯和市场数据。前一天还一切正常,可是今天早上打开信息流一看,120条数据里只有54条被填满。

「少了一半,好像请求中途断掉了。」罗波打开日志时这么说。

原因意外地简单。凌晨时段同时调用了好几个数据源,结果其中一个API触发了请求限制,之后的请求就悄悄失败、被跳过了。连错误日志都没留下,所以拖到现在才发现。

Before / After

Before:五个来源同时并行调用,失败时没有任何提醒

After:调用之间加入间隔,失败的请求最多自动重试三次。重试仍失败就发送Slack通知

for source in sources:

for attempt in range(3):

result = fetch(source)

if result.ok:

break

wait(2)

if not result.ok:

notify_slack(source)

第二天凌晨,信息流的120条里填满了118条。剩下2条收到了Slack通知,由负责人手动确认。

「所谓完全自动化,原来是连失败都要自动发现。」温迪事后这样总结。

问题起于一个小小的采集机器人,之后我们把同样的重试逻辑加进了所有自动化流程。就算是非工程师做出来的自动化,不让失败悄悄溜走才是真正的关键。麦斯后来也顺手检查了Mac mini上的其他排程,确认没有同样的漏洞。