微信常见问题之支付回调多次
最近做了一个小程序的新功能上线,发现支付成功之后,回调会多次请求,这就使我们的模板消息出现发送多条的情况,经过半天的时间来查询这个问题,最终解决并记录在此,还有之前出现过的类似的情况总结!
微信机制
原因:
1) 收到微信回调之后返回微信应有的响应,并且在响应之后不要再进行任何的输出操作, 否则就操作微信推送的异常(场景:在代码中有打印的数据,造成微信频繁推送的结果)
2) 响应时间过长,超过了微信接收响应的时间15s,有些数据的处理过慢导致,当前数据还没有处理完成,下次的微信推送已经开始,有次造成多次推送的情况(场景:其中有对于memcache的操作,但是因为某种原因memcache无法及时的返回请求,造成整个流程高达将近20s的时间,导致发送小程序的模板消息推送多条)
注意点:
1) 要对于资源请求设置一定的超时,否则会导致整个程序被拖垮,出现不知名的异常状况