自动化遇到HTTP 429:何时重试、等待或停止
技术 28/10/2026

自动化遇到HTTP 429:何时重试、等待或停止

阅读其他语言版本 ไทย English

更多请求可能拖慢恢复

自动化收到HTTP 429时,不应无限立即重发。它通常表示请求超过服务限制。应阅读API约定和服务端建议的等待时间,并限制尝试次数及总时长。紧急任务需要接手机制,而不是无限隐藏在队列中。

Microsoft建议区分暂时故障与重试无法修复的问题,例如数据错误或缺少权限。因此应先整理实际服务的错误含义,而非将所有失败都视为重发理由。

同时设置等待与上限

若响应包含Retry-After,应由技术人员按服务约定解析,并至少等待指定时长。否则可采用逐步延长且错开的等待策略,避免多个客户端同时恢复发送。不要未经代表性负载测试就照搬其他系统的秒数。

检查连接器或程序库是否已自带重试。假设外层尝试3次、每次内层又尝试3次,实际可能发出9个请求。应明确策略负责人,并统计实际发出的请求,而非只看某一层设置。

失败与结果未知不同

响应超时可能意味着无法判断目标系统是否已提交操作。重试会改变业务状态的命令前,应查询原任务编号或使用系统的防重复机制。延长等待能缓解部分负载,却不能自行防止订单或付款重复。

达到上限后,将任务保留待查,记录原因、最新时间、尝试次数及负责人。人工重发应留痕,并确认请求仍有效;旧任务已取消时,不能仅因服务恢复而重新执行。通知中不要泄露完整机密数据。

既测试恢复,也测试停止

在测试环境模拟带或不带等待提示的429、数据错误、提交后响应丢失,以及超过重试预算的中断。检查真实请求数、等待时间和业务结果,而不只是最终变绿的状态。若旧任务阻塞新任务,还需调整队列管理。

请Chawinnix实施自动化前,由业务负责人明确可接受等待时间、接手人员及禁止重复的结果,再由技术团队按实际范围提出核验和停止规则。重试策略应同时说明服务恢复与持续失败时如何处理。

任务信封沿路径经过沙漏前往两个托盘

参考资料