每隔90分钟执行一次
90*2= 180 = 3个小时
需要添加2个cron,间隔3小时
表达式:
cron1 0 30 1/3 * * ? (1.30,4.30,7.30,,,,)
cron2 0 0 0/3 * * ? (3.00,6.00,9.00,,,,)
每隔100分钟
100*3= 300 = 5个小时
需要添加3个cron,间隔5小时;
cron1 0 40 1/5 * * ? (1.40,6.40,11.40,,,)
cron2 0 20 3/5 * * ? (3.20,8.20,13.20,,,,)
cron2 0 0 5/5 * * ? (5.00,10.00,15.00)
每隔2个半小时执行一次
150*2= 300 = 5个小时
需要添加2个cron,间隔5小时
表达式:
cron1 0 30 2/5 * * ? (2.30,7.30,12.30,,,,)
cron2 0 0 0/5 * * ? (5.00,10.00,15.00,,,,)
受其他博文启发,一个定时任务实现不了,那这个任务,就添加多个触发时间,来实现;
需求1:从0点开始,每隔2个半小时,执行一次
思路记录:
1.先列出,我们预期的执行时间:
2.30,5.00,7.30,10.00,12.30,15:00
2.找规律:我们知道间隔 整数(1,2,3,)个小时的cron表达式;根据此前提,找间隔 整数个小时 时间的规律
3.规律结果
(2.30,7.30,12.30,) 两点半开始,间隔5小时 那么此表达式==>0 30 2/5 * * ?
(5.00,10.00,15.00,) 0点开始,间隔5小时 那么此表达式==> 0 0/5 * * ?
需求2:在指定时间t后,启动定时任务a,
可以采用:.再添加一个执行定时任务,动态添加那要求任务a,在那指定的时间t开始执行一次,有且只调用一次
总结:间隔 n 个小时,执行一次
1.找出n和60的最小公倍数:gbs;
2.gbs除60=间隔时间tt (tt<23?)
3.gbs除n=cron表达式个数
原文链接:https://blog.csdn.net/weixin_38981413/article/details/103755671