首页 / PHP / 如何处理异步队列出错?
如何处理异步队列出错?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何处理异步队列出错?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2088字,纯文字阅读大概需要3分钟。
内容图文
![如何处理异步队列出错?](/upload/InfoBanner/zyjiaocheng/152/cfe9537309c04ee8b95ee98cc108ff40.jpg)
用户A在页面上填写内容之后提交之后,由于是群发的,时间可能会非常长,所以我们做成了异步处理,把用户的消息都push到一个队列之中,push成功了就返回给用户A成功。用户A前端操作就结束了。
之后后台每一段时间就扫描一次队列,如果队列中有数据,就执行群发推送。
现在出了这样一个问题,公众号那边开始出现不确定因素(有时是api变更,有时是服务器50X错误),导致我这边队列推送开始出现失败的情况。像网络超时或临时性错误还好,可以用定时重试的方法解决这个问题。
但如果是服务器api更换这种,我们这边推送就会100%失败,用户群B就永远也收不到消息,然而这种错误在用户A这边是看不到的,会以为发送成功(因为改成异步了嘛,push到队列中就结束了,也不能一直盯着这个大推送列表看,时间可能会非常久)
所以想问有没有什么设计方案能让公众号api服务器出问题时,用户A这侧能感知到是公众号服务器出了问题。
自己考虑过可以将推送列表状态暴露给用户A看,用户A能自己看到推送的状态。然而感觉并不直观,用户A可能不会去看这个列表。
回复内容:
是这样的,我们做了一个公众号工具,用户群A具有群发模板消息的能力,用户群B是接收模板消息。
用户A在页面上填写内容之后提交之后,由于是群发的,时间可能会非常长,所以我们做成了异步处理,把用户的消息都push到一个队列之中,push成功了就返回给用户A成功。用户A前端操作就结束了。
之后后台每一段时间就扫描一次队列,如果队列中有数据,就执行群发推送。
现在出了这样一个问题,公众号那边开始出现不确定因素(有时是api变更,有时是服务器50X错误),导致我这边队列推送开始出现失败的情况。像网络超时或临时性错误还好,可以用定时重试的方法解决这个问题。
但如果是服务器api更换这种,我们这边推送就会100%失败,用户群B就永远也收不到消息,然而这种错误在用户A这边是看不到的,会以为发送成功(因为改成异步了嘛,push到队列中就结束了,也不能一直盯着这个大推送列表看,时间可能会非常久)
所以想问有没有什么设计方案能让公众号api服务器出问题时,用户A这侧能感知到是公众号服务器出了问题。
自己考虑过可以将推送列表状态暴露给用户A看,用户A能自己看到推送的状态。然而感觉并不直观,用户A可能不会去看这个列表。
这个解决方法是不是不太合理,用户A就算获取到异常信息,处理问题的还是你们自己,你给他个错误的意义何在,我怎么觉得你应该先解决服务器api的问题是关键
写错误日志。
内容总结
以上是互联网集市为您收集整理的如何处理异步队列出错?全部内容,希望文章能够帮你解决如何处理异步队列出错?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。