求友们帮助, Java 到期提醒功能如何开发

2023-07-28 10:39:53 +08:00
 Allenxup

现在是有个车辆信息表,表里有年检到期日期 inspection_date 和保险到期日期 insurance_date 字段,现在的需求是对这些时间进行监控剩余 15 天有效期进行消息提醒,推送通知给驾驶人员。想问下这场景应该怎么做?感谢

3039 次点击
所在节点    程序员
32 条回复
kanepan19
2023-07-28 12:24:39 +08:00
这种需求要什么延迟队列, 又不是订单超时, 直接扫库就好了。
那啥啥某电商不就直接扫库的吗?
simbaCheng
2023-07-28 14:28:45 +08:00
时间轮
a62527776a
2023-07-28 14:32:21 +08:00
时间轮不是非常成熟吗?
ZhiyuanLin
2023-07-28 14:48:20 +08:00
今年刚做过几亿用户类似需求的项目,也是写个 Spring Batch 每天去扫数据库的。没必要用多复杂的架构。
senjyougahara
2023-07-28 14:55:07 +08:00
可以一周或半周跑一次轮询,然后逐个通知
vagusss
2023-07-28 15:32:42 +08:00
定时扫库就行, 简单有效
wqhui
2023-07-28 16:06:49 +08:00
每天扫一下表不就行了吗,怕数据量太大,用 SQL 把筛选出来的数据扔个临时表,应用分批取出来发通知
数据更新导致发错其实不要紧,通知类的东西不太重要。比如 8 点扫表这个人到期了,但 10 点才发出通知,这个人 9 点跑去更新了到期时间,照样给他发也没事又不会导致什么记录被覆盖
simonlu9
2023-07-28 16:29:15 +08:00
@Allenxup 很简单,删掉就可以了,参考 redission 实现,没必要把时间久远的放 redis,用 xxl 每天扫描一遍是不是快到 24 小时结束了,如果是旧放到 redission
la2la
2023-07-28 17:41:24 +08:00
定时任务每天扫一遍就行呗
hevi
2023-07-28 18:00:54 +08:00
虚心请教定时任务的逻辑:

发送前是否还要查一次有没已经发过?如果定时器还没扫之前,程序崩了
huzhizhao
2023-07-28 23:15:53 +08:00
定时器扫不就完了。
xuanbg
2023-07-29 06:37:16 +08:00
定时器每天凌晨扫一次表,符合条件的发通知就完了。写代码,最简单有效的笨方法才是最好的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960453

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX