task异步任务,如若在异步里出现错误,前端也会返回成功的参数
来源:7-15 登录模块优化(二)
weixin_慕村2369771
2019-04-15
如果task任务执行失败了,我们立刻返回给前端成功(成功状态),后面执行的时候再返回给前端失败会不会不太好
如果采用同步的就不会出现这种情况,性能上当然就有差别了。
以下: 是你之前的回答:
同学您好。您的问题问的很好。按场景来哈。 一般这种场景吧,就拿APP端上报日志数据给服务器端来说, 比如端上传一份数据到服务器, 其实他只需要关心上传日志即可, 成不成功端不关系, 上传日志后,服务器端直接返回一个状态,我收到日志了。 然后服务器端通过task去把数据写入文件 写成功不成功 APP端是不需要care的。
但是有些场景 你说的这种确实体验不好!
请问下,有没有其他更好方式:异步 的话是先返回结果,程序在内部执行,这样用户体验非常好。但如果 程序内部出错, 是 不是要返回一个错误信息呢。采用异步的话,结果先返回了,在大数据下,短信接口不稳定,这样的情况我们也要考虑的,请问有什么好的解决方案。
写回答
1回答
-
singwa
2019-06-26
亲爱的同学您好 , 再次要表扬您下,说明您很喜欢思考问题,很棒。
其实这种情况 异步来做的话 在大数据场景的话 没有很好的解决方案,可以加报警,但是需要根据不同的场景来做, 就那发送短信来说,异步发送, 但是如果异步的底层发送失败的话,记录日志, 然后在开一个异步进程专门来检查这个异步发送短信的异常日志,如果有就发报警给用户(您的短信发送失败之类的) , 但是其实这种事没有必要的,当然做是可以来做。 所以还是一句话 不同的场景我们有不同的解决方案, 对某些事情也需要做到取舍。
00
相似问题