我们的群发服务是使用 go 进行编写的,对应使用的文档是:
当公众号粉丝数量超过10000时,我们将按照10000进行拆分,使用协程进行多次请求。对应使用的代码已经正常运行了接近一年
在2022-04-09这天晚上,系统报警提示,群发推送任务时,出现了很多如下的提示报错
{"errcode":42010,"errmsg":"masssend fast, retry again rid: 62516499-178c0158-285b30bd"}
其中 rid 还有很多,如有需要我可以后面留言一起提交
经过排查,出现这种报错的公众号,本次推送的人数都超过了10000人,基本都是在第二次、或者第三次请求时,微信接口返回的这种报错,第一次请求都是没问题的,能正常返回 msg_id、msg_data_id ,正常情况下返回信息如下
{"errcode":0,"errmsg":"send job submission success","msg_id":xxx,"msg_data_id":yyy}
当时出现这个问题后,我们进入微信公众号开发文档进行查询,并未找到对应的 42010 对应的解释,到目前查询文档也没有查询到,按照提示的 errmsg,目前我们做法是,当出现42010 时,将推送内容和 openid列表存储起来,隔几分钟再发送,这种情况下就没问题
我想确认几个问题
①、我们一直以来都是通过 go 进行协程推送,请求速度确实会比较快,可是一直没问题,如果微信官方接口更新了频次限制,为什么没有通知开发者
②、微信开发文档errcode 枚举值不完善,从2022-04-09到今天,依然会出现这种报错,请问这个新的枚举值你们想等到更多开发者提交 bug 工单才进行修改开发文档吗?
③、这个 errcode 42010的报错具体原因是什么,是单个公众号请求『群发接口』过快,还是我们服务器单 ip 请求接口过快,还是我们这批公众号对应的开放平台请求接口过快,我们需要确认、定位了问题所在,才可以优化对应的群发代码
麻烦看看这个问题