SpringSchedule - 定时任务简介(一)

简介: SpringSchedule - 定时任务简介(一)

image.pngimage.pngimage.png

那么Spring Schedule Cron表达式呢,其实和 Quartz 的表达式是一样的,我们一起来看一下。首先第一个是秒,第二位是分,第三位是小时,第四位是日,第五位是月,第六位是周,第七位是年,年是可选的,那对于年来说,实际生产环境并不是太多,所以我们主要是把前六位弄明白,那如果前六位明白的话,那第七位的年,也很轻松理解的我们接着来看,现在对第五六七位的介绍,那我们看一下,关于这些字段允许的值,和允许的特殊字符。

首先秒允许的值是0到59,运行的特殊字符是逗号,横线,星号和斜杠,那分和小时允许的特殊符号一样的,只不过小时是从0点到23点,月内日期是1到31,然后月大家看一下,1到12,或者英文,周内日期是1到7,年一般都留空,右侧的特殊符号第一次接触的时候也不用慌,我们现在来挨个解释一下,我们一起来看一下。


image.png


首先是星号,代表匹配所有的值,那星号用处是最多的,第二个问号,只有在星期域和日期域中使用,他被用来指定非明确的值,那一会在我们实际项目中,使用的Cron表达式也会用到问号,横线是指定一个范围,如10-12,代表的是10点,11点,12点,前提是我们把10-12设置在小时域,逗号就是一个可选值,如星期一逗号,星期三逗号,星期五逗号,斜杠是比较重要的,这里表示指定的增量,如0/15,如果在秒域意思是,每分钟的0秒,15秒,30秒,45秒,那5/15在分钟域呢,所表示每小时的5分钟,20分钟,35分钟和50分钟,也就是说从第5分钟开始,增量15,然后就是20,再增量15就是35,再增量15就是50,然后我们经常能看到的写法,就是*/10,其实呢,*/10和0/10,是一样的,也就是初始值都是从0开始的,那对于星号问号,斜杠,我们实际工作当中,使用的是最多的,下面说一下L,表示day-of-month,和day-of-week域,但是这两个字段中的意思不同,例如day-of-month呢,所表示这个月的最后一天,那后边有一些例子,L我们实际用的不是太多,有兴趣的可以去查一下,然后我们继续来看。



image.png


大家看到这么多表不要慌,一会把表达式的生成器一起来理解一下,W是只允许在日期域出现的,这个字符是指定日期的,最近工作日,W相对复杂一些,可以仔细看一下,然后我们看一下LW,L和W是可以在日期中联合使用的,LW表示这个月最后一周的工作日,井号是只允许在星期域中出现的,这个字符用于指定本月的某某天,而6#3表示本月第三周的星期五,那6就表示星期五,3表示第三周,毕竟Cron表达式是老外发明的,那星期日就作为一周的第一天,星期六作为一周的第七天,那第六天就是一周的星期五,所以4#5就代表第五周的星期三,然后C是允许在星期域和日期域中出现,我们这里面就不详细的介绍了。



image.png


image.png

目录
相关文章
|
16天前
|
监控 Java 调度
定时任务概述
定时任务概述
24 1
|
2月前
|
Python
python之定时任务schedule
python之定时任务schedule
|
5月前
|
NoSQL Java Serverless
Serverless 应用引擎产品使用合集之Java如何使用ScheduledExecutorService来实现定时触发
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
6月前
|
SQL Java 调度
SpringBoot使用@Scheduled定时任务录入将要过期任务数据
SpringBoot使用@Scheduled定时任务录入将要过期任务数据
133 0
|
NoSQL Java 调度
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
定时任务基本使用指南(cron 时间表达式、Spring 自带调度器、JDK 原生定时器)
649 0
|
6月前
|
消息中间件 安全 Java
一起来探究@Schedule定时任务在分布式产生的问题
一起来探究@Schedule定时任务在分布式产生的问题
396 0
|
6月前
|
XML Java 调度
SpringBoot中定时任务入门(@Scheduled )详解
SpringBoot中定时任务入门(@Scheduled )详解
928 0
|
JavaScript Java Spring
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件
一张思维导图带你学会使用SpringBoot中的Schedule定时发送邮件
159 0
|
Python
Python编程:定时任务apscheduler框架
Python编程:定时任务apscheduler框架
285 0
Python编程:定时任务apscheduler框架
|
Java Maven
仿写@ScheduleLock 定时任务
最近公司在搞分布式的定时任务, 怎么满足分布式的定时任务锁。 我看了大量的开源的代码。 https://github.com/lukas-krecan/ShedLock 感觉老外写的非常的不错。
仿写@ScheduleLock 定时任务