java —— 异步任务失败后处理

场景:

实际项目中,程序操作出了问题,后续要怎么处理是个很重要的问题,如果这个问题是同步操作引起的解决起来比较简单,比如用户注册,如果系统注册失败,后台可以马上返回错误信息,用户也可以马上看到错误点是什么。但是如果是异步操作,比如用户注册成功后,系统异步发送短信给用户,发短信的操作出问题了没有发出去,而且这个操作也不是用户主动操作了,所以可能会出现用户不知道你有这个操作,系统也没办法知道自己操作出了问题,或者说知道了操作出问题后,要考虑怎么处理。

解决方式:
可以用消息队列去处理异步请求,但是如果是一些比较小的项目,请求量不大,用消息队列就有点大材小用了,单独用数据库保存也可以,但是也是有点浪费资源了,所以可以用文件来保存这些错误请求信息,采用定时或者说每次执行异步操作时先进行判断,看之前是否有错误请求消息,有的话和当前请求一起重新发起请求。

 

大致流程图:

 

 详细内容参考:https://blog.csdn.net/DGH2430284817/article/details/94206936/

 

posted @ 2022-08-04 14:33  super超人  阅读(1719)  评论(0)    收藏  举报