问题如下
有一个任务,在前台由JS发向服务器,由于任务的执行时间比较长,并且有很多中间状态,想要在服务器执行任务期间,根据任务的执行状态,不断的更新前台。
现在我觉得有两种途径解决:
第一,前台查询,即在前台设置一个定时器,每隔一段时间查询服务端的执行情况,根据结果更新页面,但是担心频繁的查询影响性能,而间隔太长则无法及时更新状态;
第二,后台中断,即当服务端任务的状态有更新时,直接发消息通知前台,可惜不知道该如何实现。不知道大家有没有什么好的办法?
有一个任务,在前台由JS发向服务器,由于任务的执行时间比较长,并且有很多中间状态,想要在服务器执行任务期间,根据任务的执行状态,不断的更新前台。
现在我觉得有两种途径解决:
第一,前台查询,即在前台设置一个定时器,每隔一段时间查询服务端的执行情况,根据结果更新页面,但是担心频繁的查询影响性能,而间隔太长则无法及时更新状态;
第二,后台中断,即当服务端任务的状态有更新时,直接发消息通知前台,可惜不知道该如何实现。不知道大家有没有什么好的办法?
这个在http协议中是不被允许的,服务器永远不能主动推送消息
既然时间可能非常长,就别做ajax了,直接提供一个查询订单状态的链接即可,或者提供一个更新状态的按钮