发布网友 发布时间:2022-05-02 22:34
共3个回答
热心网友 时间:2023-10-09 17:56
你的设计可能有些问题
从“网页上显示出来处理的结果”判断,你应该是BS架构
BS架构是 请求/响应 的处理模式,即必须有请求,才有响应
BS架构要想 后台驱动前台,必须加中间件,如MQ,比较好用的是ActiveMQ
可以做折中变更:
针对: BS架构是 请求/响应 的处理模式,即必须有请求,才有响应
在quartz调度任务结束后,将处理信息结果入库,包括
A. 调度的执行记录,如结果、任务号、时间
B. 调度的业务执行结果, 和业务相关的信息
在前台页面,通过js定时执行某方法,扫描上面A信息,然后把成功的A对应的B(处理的结果
)取出来,展示在前台,一般使用Ajax比较好
亲,如果回答满意,请即时采纳,你的理解是我回答的动力,谢谢
追问那岂不是说,直接用js定时就好了,没必要用quartz了?用js直接去完成任务?追答不是,各自分工,做自己该做的
quartz负责任务调度:如,每30分钟执行一个任务甲(把第三系统提供的exl文件导入库)
A. 记录:12点,任务:甲,结果:执行成功 --- 记录纯调度信息
B. 记录:记录条数1000, 处理成功990,处理失败10,。。。。 --- 纯业务信息
前台页面:针对 甲 业务,【轮询】A,查询任务甲的信息
发现有,就取出对应的B业务信息展示
照你说,js是可以完成所有事情,但是任务调度呢?
你怎么驱动? 一直开一个页面,不停的向后台发请求,判断时间是否是30分钟,然后调度任务,即处理上面的exl,如果exl够大,需要处理2-3小时,前台等待不就超时,如何获取响应呢?
有本书 DWR高级开发,就是这么做的
热心网友 时间:2023-10-09 17:56
操作不了。页面是客户端的东西,quartz只能操作服务端。热心网友 时间:2023-10-09 17:57
quartz框架是一个后台任务处理框架。前端的定时可以通过javascript的定时任务是做。