欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > SpringTask

SpringTask

2025/8/13 9:39:25 来源:https://blog.csdn.net/qwelllll/article/details/147670513  浏览:    关键词:SpringTask

Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑

应用场景:信用卡每月还款提醒、火车票售票系统处理未支付订单

fixedDelay:上一次任务执行完成后多长时间(ms)执行下一次任务

fixedRate:上一次任务执行开始后多长时间(ms)执行下一次任务,如果任务未完成,需要等到任务完成

initialDelay:第一次任务将会在延迟多长时间(ms)后开始执行

cron:指定一个时间表达式,可以通过配置确定执行任务的时间点

cron表达式:  在线Cron表达式生成器 

cron表达式其实就是一个字符串,通过cron表达式可以定义任务的触发时间

字符串分为6个域,由空格分隔开,每个域代表一个含义:秒 分 时 日 月 周

 

常用的符号

*:表示任意,例如在域使用,即表示分钟都会触发

?:表示忽略,只能用在两个域

-:表示区间,例如在域使用5-20,表示从5分到20分钟每分钟触发一次

/:表示起始时间开始触发,然后每隔固定时间触发一次,例如在域使用5/20,则意味着第5、25、45分别触发一次

,:表示列出枚举值。例如在域使用5,20则意味着在5和20分触发一次。

L:表示最后,如果在域使用5L,意味着在最后的一个星期四触发

W: 表示用来描叙最接近指定天的工作日,只能出现在域,系统将在离指定日期的最近的有效工作日触发事件

#: 用于确定每个月第几个星期几,只能出现在域,例如在4#2,表示某月的第二个星期三

 一般的值不能同时设置(互斥),其中一个设置,另一个用?表示。

 常用表达式例子
    0 0 2 1 * ?              表示在每月1日的凌晨2点
    0 15 10 ? * MON-FRI       表示周一到周五每天上午10:15
    0 0 10,14,16 * * ?      每天上午10点,下午2点,4点 
    0 0/30 9-17 * * ?          朝九晚五工作时间内每半小时 
    0 0 12 ? * WED            表示每个星期三中午12点 
    0 0 12 * * ?               每天中午12点
    0 15 10 ? * *            每天上午10:15
    0 15 10 * * ?             每天上午10:15
    0 * 14 * * ?             在每天下午2点到下午2:59期间的每1分钟
    0 15 10 15 * ?            每月15日上午10:15
    0 15 10 L * ?            每月最后一日的上午10:15
    0 15 10 ? * 6L            每月的最后一个星期五上午10:15
    0 15 10 ? * 6#3           每月的第三个星期五上午10:15

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词