最近做了一個小程序的新功能上線,發現支付成功之后,回調會多次請求,這就使我們的模板消息出現發送多條的情況,經過半天的時間來查詢這個問題,最終解決並記錄在此,還有之前出現過的類似的情況總結!
微信機制
原因:
1) 收到微信回調之后返回微信應有的響應,並且在響應之后不要再進行任何的輸出操作, 否則就操作微信推送的異常(場景:在代碼中有打印的數據,造成微信頻繁推送的結果)
2) 響應時間過長,超過了微信接收響應的時間15s,有些數據的處理過慢導致,當前數據還沒有處理完成,下次的微信推送已經開始,有次造成多次推送的情況(場景:其中有對於memcache的操作,但是因為某種原因memcache無法及時的返回請求,造成整個流程高達將近20s的時間,導致發送小程序的模板消息推送多條)
注意點:
1) 要對於資源請求設置一定的超時,否則會導致整個程序被拖垮,出現不知名的異常狀況