计算第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回答
-
现在的任务都是自动触发的,不需要点手动执行,课程一直有演示自动跑批,会按配置好的cron表达式来自动跑,手动执行只是一种补偿措施,有需要才点。
手动执行跑批,这个在实际项目中也是要的,它跟业务无关,就是单纯的把任务再执行一遍。任务有很多种策略,有的是1小时1次,有的是1周1次,有的是1年1次,加上手动执行,我就可以随时让任务启一遍。这个功能跟业务无关,不要去
课程做了手工生成车次功能,这个是跟业务相关的,因为【手动执行跑批】这个补偿,不能完全解决我生成车次这个批的重跑的需求,所以我们额外做了【手工生成车次】功能,支持选择任意一天。
现在做的功能都是有用的,后面不会删除,关于自动跑批和手动跑批,可以再看下quartz那章,不要看了后面忘了前面。
012023-05-26 -
甲蛙
2023-05-16
正常是用批来实现的,跑批在一个企业项目里还是很常见的,每天那么多车次信息,不可能人工每天手工操作生成。接口只是个补偿功能,防止哪天跑批失败了,可以手动再生成
092023-05-25
相似问题