票务系统调第三方接口失败之后:重试几次、间隔多久、什么时候转人工
发布时间 2026-10-11 10:35:44 易买票

接口报错之后自动重试,听着稳妥,实际上一半事故是重试把一件小事放大成了三件。要定的不是要不要重试,而是三件具体的事:哪些错误允许重试、每次隔多久、失败到什么程度必须停下来交给人。这三条按场景写,不能全园共用一套参数。

一、先分可重试与不可重试。可重试的是网络超时、连接被拒、对方服务端返回错误、以及带唯一请求键的写操作。不可重试的是参数校验不通过、票种在对方目录里不存在、证件号格式错误、对方明确业务拒绝。判据:不可重试类只要发生重试,每条都记一次异常日志,这类调用的重试占比超过 5%,说明调用侧拼装有问题,该改代码而不是加间隔。

二、三套场景三种节奏。现场核销只允许重试 1 次、间隔 2 秒,仍失败立刻转人工核销通道并留痕。线上下单与出票上限 3 次,间隔依次 30 秒、2 分钟、10 分钟,总跨度不超过 13 分钟,期间页面显示处理中而不是失败。后台同步类,比如名单下发、订单回传、对账文件抓取,上限 5 次,从 5 分钟起按倍数递增,最长拉到 6 小时。判据写在人身上:现场那一套的间隔必须以秒计,任何让游客在通道口等超过 30 秒的重试配置都算错,不管它最后成功没有。

三类接口的重试参数对照

三、超时时间必须小于上一层的等待上限。现场核销单次调用超时取 2 秒,下单出票取 5 秒,后台同步取 15 秒;建连超时统一 2 秒。判据是逐层比对:本层超时必须小于上层愿意等的时间,也要小于对方接口自己的处理时限。三层里任何一层设得比下一层短,就会出现明明成功却被判失败的假象,这种单子最难查。

四、熔断门槛与转人工动作同样要写数字。建议连续 20 笔失败,或 5 分钟内失败率超过 30%,触发熔断:停止外呼,转人工通道,同步挂现场公告。熔断之后不许一直等自动恢复,要设探测——每 5 分钟放一笔探测请求,连续 3 次成功才解除,解除动作记到具体人名和时间。判据:任何一次熔断,都能查到谁决定转人工、几点挂的公告、几点解除的,三样缺一样就算处置未完成。

熔断探测与解除的留痕

五、恢复之后不能无脑重放。熔断期间积压的调用要按唯一请求键去重,限速放开,每分钟不超过 100 笔,从最早一批开始放。判据很直接:重放结束后,同一订单在核销记录里只应该有一条生效记录,出现两条的就算重放失败,回去查请求键是不是在调用发起前就生成了。事后靠人工删重复记录,删的那一半连流水都留不下。

值得今晚就改的只有一行配置:把现场核销的重试次数从 3 改成 1,间隔压到 2 秒,失败即转人工。多数现场排队事故来自这里,而不是来自下单接口。第二步给后台同步加熔断门槛与探测,第三步再谈去重重放。顺序倒过来,参数表调得再细,闸机口还是照样卡人。

立即咨询领取智慧景区建设解决方案

点击下方文字 自动复制微信号
15629900190(点击复制)