计算第15天后的车次数据一定要用跑批来实现吗?

来源:11-13 增加手动生成某日车次数据功能

慕神4535282

2023-05-16

老师,早上好,
如题,手动执行跑批请求的地址是: /batch/admin/job/run ,而接收前端日期参数,请求的地址是: /business/admin/daily-train/gen-daily/{date} ,两者请求的地址表面看起来不一致,但是最终还是调用后者的那个接口。
请问,手动执行跑批可以改成前端自动算出第15天的date后,再请求这个地址 /business/admin/daily-train/gen-daily/{date} 吗?也就是说,计算第15天后的车次数据一定要用跑批来实现吗?您是为了让我们多了解一些知识点才用定时任务来实现的吗?
谢谢老师解答!!!

-----------------------------分割线------------------------------------------------

OK,我再解释一下我的疑问:图片描述

引用您的话:“没太明白你的问题点在哪,你是说不要自动跑批吗?难道每天都人工去点一次?”
我的疑惑就在这里,上图中的跑批不是还要每天都人工去点一次吗?

见上图,红框中的按钮请求的是后端的跑批接口,我有两个问题,
问题1: 第一,我想确认一点,到本节讲完为止,目前的跑批功能是像上图一样要点击红框处的按钮才会触发,而不是自动地在每天凌晨0:00时会自动触发吧?您是打算在后面的章节中再加入每天凌晨0:00时会自动触发跑批的功能?
问题2: 红框中的这个按钮在后面的章节会删掉吗?如果不删,这没体现出跑批的优势呀?还是需要人工手动点击该按钮来触发,这样岂不是跟下图紫框中的可选日期的“手动生成车次信息”按钮在本质上是一样的吗(一个简便,另一个灵活,但前端都可以通过传当天后第15天的日期,一个可以传用户选择的日期来实现这两个按钮,这样来看,本质上不是一样的吗)?为何后端要用两个不同的接口(/batch/admin/job/run 和 /business/admin/daily-train/gen-daily/{date})
图片描述

写回答

2回答

甲蛙

2023-05-25

现在的任务都是自动触发的,不需要点手动执行,课程一直有演示自动跑批,会按配置好的cron表达式来自动跑,手动执行只是一种补偿措施,有需要才点。

手动执行跑批,这个在实际项目中也是要的,它跟业务无关,就是单纯的把任务再执行一遍。任务有很多种策略,有的是1小时1次,有的是1周1次,有的是1年1次,加上手动执行,我就可以随时让任务启一遍。这个功能跟业务无关,不要去

课程做了手工生成车次功能,这个是跟业务相关的,因为【手动执行跑批】这个补偿,不能完全解决我生成车次这个批的重跑的需求,所以我们额外做了【手工生成车次】功能,支持选择任意一天。

现在做的功能都是有用的,后面不会删除,关于自动跑批和手动跑批,可以再看下quartz那章,不要看了后面忘了前面。

0
1
慕神4535282
非常感谢!
2023-05-26
共1条回复

甲蛙

2023-05-16

正常是用批来实现的,跑批在一个企业项目里还是很常见的,每天那么多车次信息,不可能人工每天手工操作生成。接口只是个补偿功能,防止哪天跑批失败了,可以手动再生成 

0
9
慕神4535282
回复
甲蛙
老师,因为这里放不下图,我重新编辑了原问题,您搜索“-----------------------------分割线------------------------------------------------”,看 分割线 下的问题就是我的回复,谢谢!
2023-05-25
共9条回复

新版Springboot3.0打造能落地的高并发仿12306售票系统

最新版Spring3.0仿12306售票系统实战

851 学习 · 511 问题

查看课程