easywechat发送模板消息频繁超时小记

起因

最近项目中因为要发送各种类型的微信模板消息,于是使用到了安正超大大的easywechat,的确是「微信开发,从未如此简单」。

于是很快开发完成。测试环境下,发送模板消息很快。相同的代码的代码上线后,发送模板消息概率性提示CURL超时:

ConnectException in CurlFactory.php line 186: cURL error 28: Operation timed out after 5001 milliseconds with 0 out of 0 bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我怀疑过是不是业务代码陷入了死循环导致超时?是不是composer升级完easywechat的有bug导致超时?

如果你发送微信模板消息频繁超时?如果你是用的是阿里云服务器?请接着往下看,大概率会解决你的问题。

解决办法

通过Google查到的确有人遇到过类似的问题,大大斩钉截铁的回答「检查你的服务器 DNS」。

但是毕竟阿里云,不太相信是dns解析的超时啊。。。

接着V2ex「大家也都试试,是不是阿里 DNS 故意搞慢腾讯域名的解析」,开始怀疑是不是阿里云的dns解析的问题呢。

直到看到「域名解析慢导致微信授权慢的问题」,最终更加坚定一定是阿里云服务器的dns解析出问题了。

哪里有问题,解决哪里~附上修改服务器dns的方法:

cat /etc/resolv.conf
output:
options timeout:2 attempts:3 rotate single-request-reopen; 
generated by /usr/sbin/dhclient-script
nameserver 182.254.116.116 //腾讯dns
#nameserver 100.100.2.138 //阿里云默认dns
#nameserver 100.100.2.136 //阿里云默认dns

结论

不做评论,解决问题就好

posted @ 2021-07-10 10:39  luyuqiang  阅读(552)  评论(0编辑  收藏  举报