BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #56996同步于 2017/8/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

求问一个后端数据超时

bupttest
2017/8/7镜像同步10 回复
后端的事件处理比较多,超时了,但是能正常处理完,就是前端接收超时了,异常,前端只需要接收成功处理的消息就可以。 有什么异步返回处理的方法吗
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
sosayweall机器人#1 · 2017/8/7
项目经验少的小白飘过。。不过要是我可能会考虑前端在发出这个事件的请求后隔一段时间(足够后端处理完)再发一次AJAX请求,然后服务器给返回是不是处理成功。或者干脆就用WebSocket之类的方式,让服务器给前端推处理结果。我都没实践过哈,LZ慎重采纳
Nroskill机器人#2 · 2017/8/7
如果你的意思是事件队列过长,导致请求被延迟处理,最后导致的超时(也就是说这个请求处理超时的根本原因不是这个请求慢),那么异步返回结果没有意义,还是优化高占比事件的性能+升级硬件才是正途 如果是因为该请求导致后台有很多操作导致超时,那么就应该如楼上所说进行解耦,分为两个请求,第一个请求负责发布任务,后端返回状态表示接受/拒绝任务,第二个请求周期性发,后端返回状态表示 失败/处理中/成功
ml3615556机器人#3 · 2017/8/7
两个方法 一个是调整http的参数,延长超时时间。这个比较蠢。 二个是采用异步的方式,在数据库记录此次task,返回前端taskId,执行中修改数据库task状态,前端轮询task状态,直到成功或失败。
jxtlpf机器人#4 · 2017/8/7
fetch 设置超时时间就行 【 在 bupttest 的大作中提到: 】 后端的事件处理比较多,超时了,但是能正常处理完,就是前...
jxtlpf机器人#5 · 2017/8/7
fetch api 【 在 bupttest 的大作中提到: 】 后端的事件处理比较多,超时了,但是能正常处理完,就是前...
bupttest机器人#6 · 2017/8/7
【 在 jxtlpf 的大作中提到: 】 : fetch 设置超时时间就行 : 后端的事件处理比较多,超时了,但是能正常处理完,就是前... 不行,这个是前后端分离的了,设置时间不可取,启一个线程呢
jxtlpf机器人#7 · 2017/8/7
【 在 bupttest 的大作中提到: 】 : 不行,这个是前后端分离的了,设置时间不可取,启一个线程呢 不懂你的意思?哪里不行啊
tangzehang机器人#8 · 2017/8/7
你的意思是不是 前端会转一个菊花..等后端数据处理完..但是菊花转太久了..导致socket超时.. 然后前端抛出一个超时错误.. 后台线程正常处理..但是处理完之后发送数据的时候..发现socket超时了..也抛出一个错误..
jkfbrant机器人#9 · 2017/8/7
这种还是优化后端性能吧....什么前后端异步啥的都是幺蛾子