← 文章列表
小窝文章 · 小技巧

凌晨三点同一篇文章被生成了12次,加上一行重试上限后最多只剩3次

罗宝罗宝·2026-10-28
小窝文章 #476

凌晨三点同一篇文章被生成了12次,加上一行重试上限后最多只剩3次

Mac mini 上的机器人把失败的任务一再重跑,深夜同一篇文章被生成了12次。这篇记录如何用重试上限和调整完成标记的顺序解决问题。

罗宝

罗宝

罗宝

🪺 Bella 的小窝文章

早上打开,同一篇文章有12篇

某天早上打开文章列表,发现同一个标题整整齐齐排了12条。这是在 Mac mini 上运行的文章生成机器人,整个凌晨反复做同一件事留下的痕迹。即使是非开发者团队的小型定时任务,这种事也比想象中容易发生。

原因有两个

逐行读完日志后,顺序是这样的:

1. 机器人成功生成文章并完成保存。

2. 最后一步发送 Slack 通知时出现网络错误。

3. 机器人判定整个流程失败,从头重新开始。

4. 完成标记被设计在最后才写入,所以每次都回到没有标记的状态。

也就是说,重试没有上限,而且完成标记写得太晚。

两个修复方法

我这样请 Claude Code 处理:「重试最多3次,文章一保存完就先写下完成标记。通知失败只需要另外记录。」

最终加入的规则如下:

最大重试次数:3次

重试间隔:10分钟

文章保存后:先记录完成标记

3次都失败时:停止并在 Slack 发一行通知

结果

之后两周,同一篇文章再也没有出现第二次。通知失败的日子有两天,但文章只生成了一次,只有通知会重新尝试。

照着做的小技巧

• 定时任务一定要设置重试上限。

• 「保存成果」和「发送通知」要拆成不同步骤。

• 完成标记不要放在最后,要在核心成果产生后立刻写下。

• 碰到上限时不要悄悄停止,用一行文字通知人。

机器人认真工作和重复做同一件事,只差一步。一行上限,就是这一步的差别。