本文介绍一种健壮的断点续传机制:当调用 api 因 bearer token 过期而中断时,程序能自动记录最后失败的 clientid,并在下次运行时精准从该节点恢复迭代,避免重复请求与数据错乱。
在批量调用外部 API 的实际场景中(如逐个查询客户信息),身份令牌(Bearer Token)常有较短有效期(例如 1 小时)。若待处理客户量较大,程序极可能在中途遭遇 401 Unauthorized 或类似 Session already expired 响应而中断——此时若简单重启脚本,将从头开始重试,既浪费资源,又可能导致状态不一致(如重复写入、漏处理)。理想的解决方案是实现可持久化的断点续传(Resume from Last Failure)。
核心思路是:将“最后失败的 ClientId”作为恢复锚点,持久化存储于本地文件;每次启动时优先读取该文件,决定迭代起点。以下是推荐的工程化实现方案: