quartz定时任务中常用的cron表达式

孤独青鸟 孤独青鸟     2022-08-29     177

关键词:

一:定时cron的格式,一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。

按顺序依次为:

1.秒(0~59)

2.分钟(0~59)

3.小时(0~23)

4.天(月(0~31,但是你需要考虑你月的天数)

5.月(0~11)

6.天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)

7.年份(1970-2099)

 

二:定时cron可以写的参数

其中每个元素可以是一个值(如6), 一个连续区间(9-12), 一个间隔时间(8-18/4)(/表示每隔4小时), 一个列表(1,3,5), 通配符。

由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?。

 

三:定时案例分析

有些子表达式能包含一些范围或列表例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”

“*”字符代表所有可能的值因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天

“/”字符用来指定数值的增量例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 ;

在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样;

“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”

“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写,但是它在两个子表达式里的含义是不同的。

在天(月)子表达式中,“L”表示一个月的最后一天 ,在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT(星期六)

如果在“L”前有具体的内容,它就具有其他的含义了

例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最后一个星期五

注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题

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 15 10 * * ? * 每天10点15分触发
0 15 10 * * ? 2005 2005年每天10点15分触发
0 * 14 * * ? 每天下午的 2点到2点59分每分触发
0 0/5 14 * * ? 每天下午的 2点到2点59分(整点开始,每隔5分触发)
0 0/5 14,18 * * ? 每天下午的 2点到2点59分、18点到18点59分(整点开始,每隔5分触发)
0 0-5 14 * * ? 每天下午的 2点到2点05分每分触发
0 10,44 14 ? 3 WED 3月每周三下午的 2点10分和2点44分触发
0 15 10 ? * MON-FRI 从周一到周五每天上午的10点15分触发
0 15 10 15 * ? 每月15号上午10点15分触发
0 15 10 L * ? 每月最后一天的10点15分触发
0 15 10 ? * 6L 每月最后一周的星期五的10点15分触发
0 15 10 ? * 6L 2002-2005 从2002年到2005年每月最后一周的星期五的10点15分触发
0 15 10 ? * 6#3 每月的第三周的星期五开始触发
0 0 12 1/5 * ? 每月的第一个中午开始每隔5天触发一次
0 11 11 11 11 ? 每年的11月11号 11点11分触发(光棍节)

quartz定时任务触发器启动时设置(代码片段)

需求为了将触发器的Cron表达式放在数据库里,方便维护。所以需要在项目启动时去数据库获取Cron表达式,并配置触发器,添加到调度器里。实现在配置定时任务相关的Bean时,通过设置init方法,实现配置Bean时执行从数据库获取C... 查看详情

gocron定时任务的用法

...分几秒或者每隔几分钟跑一个任务(job),就那么简单。cron表达式    cron表达式是一个好东西,这个东西不仅Java的quartZ能用到,Go语言中也可以用到。我没有用过Linux的cron,但网上说Linux也是可以用crontab-e命令来配置定时任务... 查看详情

初识quartz(入门案例)+常用的cron表达式

1.Quartz架构图1.实体层packagecn.happy.entity;//1.publicclassPlan{//时间privateStringdate;//任务privateStringtask;publicPlan(Stringdate,Stringtask){this.date=date;this.task=task;}publicPlan(){}@OverridepublicStr 查看详情

cron表达式(代码片段)

概述Cron表达式通常用在定时任务中,主要用来设置定时任务的触发时间,如每天一点执行一次等,下面所说的就是Quartz中会使用到Cron表达式。Cron表达式支持7个字段,分别是秒、分、时、日、月、周、年。也就是... 查看详情

spring+quartz做定时任务时,每5分种执行一次,怎么写法

参考技术A可以使用cron表达式写,*5*****。以下为cron表达式详Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义,Cron有如下两种语法格式:SecondsMinutesHoursDayofMonthMon... 查看详情

深入quartz,更优雅地管理你的定时任务(代码片段)

...初识QuartzQuartz基础使用基于时间间隔的定时任务基于Cron表达式的定时任务Quartz解读JobTriggerSchedulerQuartz进阶使用多触发器的定时任务Job中注入BeanQuartz的持久化最近在工作遇到了定时任务场景,因此特地对定时任务相关知识进... 查看详情

将定时任务cron解析成中文

在使用定时器quartz时,其中的cron表达式,老板表示作为开发的你能看懂外,其他的非开发同事可能看不懂,要用一个他们能看懂的方式表达出来。还好我们的项目要求的表达式不是特别的麻烦,所以就写了一个简略的转换为中... 查看详情

定时任务cron表达式

cron表达式cron表达式是一个字符串,老版SpringBoot中字符串以5或6个空格隔开,分为6或7个域;在最新的SpringBoot的中分为6个域,省略了最后一个年。如果在新版中添加第七个域,则会报错。文章目录cron表达式一... 查看详情

scheduled定时任务的触发规则

...于:https://blog.csdn.net/yansong_8686/article/details/46991189 Cron表达式Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成。Cron表达式时间字段(从左到右依次为):  位置时间域名允许... 查看详情

cron表达式详解

cron表达式主要是用在Quartz框架中,Quartz是一个完全由java编写的开源作业调度框架,最主要的功能就是调度器(完成定时任务),可以与javaEE或者javaSE应用程序相结合也可以单独使用,能借助关系数据库和JDBC作业存储支持集群,负... 查看详情

springboot集成quartz动态定时任务

...schedule沿用的springboot少xml配置的优良传统,本身支持表达式等多种定时任务注意在程序启动的时候加上@EnableScheduling@Scheduled(cron="0/5****?")publicvoidjob()System.out.println("每五秒执行一次");为什么要使 查看详情

时区切换导致quartz定时任务没有触发问题

时区切换对Quartz的cron表达式有影响,切换的1小时内停止触发定时任务,导致sla没有定时清空内存计数,误发限流。美国夏令时PST切换到冬令时PDT,会有时间跳变。不带时区跳变的,会出现时间重叠或不连续问题复现mac本机模拟... 查看详情

quartz学习--quartz基本介绍和cron表达式

...   一.Quartz大致简介        二.Cron表达式 一.Quartz大致简介Quartz是完全由java开发的一个开源的任务日程管理系统?任务日程管理系统换句话说就是:?一个预先确定的日程时间到达时,负责执行任务的一个系... 查看详情

在线cron生成器

什么是cron表达式:cron表达式主要是用在Quartz框架中,Quartz是一个完全由java编写的开源作业调度框架,最主要的功能就是调度器(完成定时任务),可以与javaEE或者javaSE应用程序相结合也可以单独使用,能借助关系数据库和JDBC作业... 查看详情

深入quartz,更优雅地管理你的定时任务(代码片段)

...初识QuartzQuartz基础使用基于时间间隔的定时任务基于Cron表达式的定时任务Quartz解读JobTriggerSchedulerQuartz进阶使用多触发器的定时任务Job中注入BeanQuartz的持久化最近在工作遇到了定时任务场景,因此特地对定时任务相关知识进... 查看详情

创建定时任务的5种方式,还有谁不会!!(代码片段)

Quartz表达式生成地址:http://cron.qqe2.com支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下:xxl-jobspringboot的@ScheduledQuartz框架一、定时任务的五种创建方式1、使用线程创建job定时任务/***TODO使用线程创建job定时任... 查看详情

go语言中定时任务库cron使用详解(代码片段)

...易,未经允许,请勿转载。文章目录快速入门Cron表达式格式预定义时间表设置时区常用的方法介绍快速入门安装cron,注意这里安装的是v3版本。新版本和旧版时间使用有所区别gogetgithub.com/robfig/cron/v3@v3.0.0在项目中... 查看详情

go语言中定时任务库cron使用详解(代码片段)

...易,未经允许,请勿转载。文章目录快速入门Cron表达式格式预定义时间表设置时区常用的方法介绍快速入门安装cron,注意这里安装的是v3版本。新版本和旧版时间使用有所区别gogetgithub.com/robfig/cron/v3@v3.0.0在项目中... 查看详情