图片审核接口高峰期要 15 秒才返回,代码里没设超时,请求挂满线程池,后来改成超时即放行,违规图上了首页。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,同步调用第三方审核接口,超时和异常都走了默认分支,默认值又是通过。线程池被慢请求占满,后续请求排队更久。
「图片审核超时」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
requests.post(url, json=payload, timeout=(2, 3)) # 超时抛异常,走人工队列分支
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。
具体做法是,给审核调用设 3 秒超时,超时的内容进人工队列而不是放行;把同步调用改成异步,先发后审的要标记待复核;线程池按接口隔离,别和主流程共用。
最后用这个标准收尾,审核接口变慢时图片进入待复核列表,前台不直接展示。
