
有几个需求
平常都是直接在定时任务上直接写好表达式的,现在这种动态的不太理解要怎么实现,做过此类型的麻烦指点一下思路,感谢~ (开发语言是 Java)
1 wolfie 2022-10-18 14:33:58 +08:00 没关系,定时任务作用是触发,你这是具体的筛选条件。 |
2 HHHHHQ 2022-10-18 14:38:57 +08:00 按我理解,第 1 个需求,是一个用户,N 天没有登录后,在当天的 M 点发送消息通知。用户量不大的情况下,感觉可以直接使用 redis 计数器记录用户的登录次数,每天 0 点先+1 ,登录后删除 key 。定时任务设置在每天 M 点,把数据取出来判断就行。 第 2 个需求其实同理,建一个每天 N 点的定时任务,积分做 redis 缓存。到时间取出来判断。 其实都只是定时任务,只不过你在定时任务触发的时候,去把符合要求的数据搞出来。 另外如果不是一定要求定点推送的话,可以用触发机制。 |
3 rockddd 2022-10-18 14:43:20 +08:00 cron 表达式里写好每隔几天几点执行。 具体要发给谁,发什么,方法里正常写 CRUD 就行了。 |
5 wu00 2022-10-18 14:53:34 +08:00 你的业务规则跟你的 cron 表达式有什么关系呢! cron 表达式负责定时触发你的任务;任务执行你的业务规则。 |
6 nekolr 2022-10-18 14:56:27 +08:00 @lyusantu 你的意思是之前都是注解上写的固定表达式是吧?其实这个表达式是支持 SpEL 的,或者如果你用的是 quartz ,可以手动编写触发器的。 |
7 NextGen 2022-10-18 14:59:30 +08:00 可以看一下 xxl-job |
8 lyusantu OP |
9 hidemyself 2022-10-18 15:15:05 +08:00 @lyusantu 所以解决方案是什么 |
10 lyusantu OP Quartz 有一个 DailyTimeIntervalScheduleBuilder ,之前没用过,刚看文档应该是可行的 |
11 frank42a 2022-10-18 16:50:38 +08:00 Spring 定时器可以吗? |
13 Seulgi 2022-10-19 09:29:07 +08:00 帮你改一下描述. 1. 每隔 N 天的 X 点, 给最近登录时间大于等于 N 天的用户发送一条消息通知 2. 每天 X 点, 给积分达到 N 的用户推送一条通知. 结论, 均是每天 X 点的一个定时任务, 而非动态任务. |
14 Seulgi 2022-10-19 09:31:30 +08:00 xxl-job, xxl-job-admin 端口暴露, 后端配置好后, 删除上一次设置的定时, 设置最新的定时. x 点是用于设置定时, N 是用于定时任务代码的参数入参. |
15 w292614191 2022-10-19 14:10:11 +08:00 xxl-job 最优解 |