cron 表达式语法

2024-08-20 20:44
文章标签 语法 表达式 cron

本文主要是介绍cron 表达式语法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cron表达式基本结构

Cron表达式由七部分组成,每部分由空格分隔,从左到右依次是:

  1. 秒(0~59)
  2. 分钟(0~59)
  3. 小时(0~23)
  4. 日期(1-月最后一天)
  5. 月份(1-12 或 JAN-DEC)
  6. 星期几(1-7, 1表示星期日 或 SUN-SAT)
  7. 年份(可选,留空)

通用特殊字符

*:表示任意值,例如* * * * * ?表示每年每月每天每时每分每秒。

,:表示列表,例如1,2,3 * * * * ?表示每年每月每天每时每分的每个第1秒、第2秒、第3秒。

-:定义范围,例如1-3 * * * * ?表示每年每月每天每时每分的第1秒至第3秒。

/:表示每隔多少,例如5/10 * * * * ?表示从第5秒开始,每10秒一次。

日期和星期的特殊字符

?:只能用在日期和星期部分,表示没有具体的值。日期和星期两个部分如果其中一个部分设置了值,则另一个必须设置为?

L:表示最后(Last),只能用在日期和星期中。在日期中表示每月最后一天,在星期中表示7(星期六),也可结合使用如LW表示每月最后一个工作日。

W:只能用在日期中,表示当月中最接近某天的工作日。

#:只能用在星期中,表示第几个星期几,例如6#3表示每月的第三个星期五。

示例

0/5 * * * * ?:表示每秒的第0秒开始,每隔5秒执行一次。

0 0 8-10 ? * *:表示在上午8点、9点和10点的每分钟的第0秒执行。

0 0/30 8-10 ? * *:表示在上午8点、9点和10点,每隔30分钟执行一次。

0 0 8 ? * MON-FRI:表示在上午8点的每分钟的第0秒,星期一到星期五执行。

0 0 8 L * ?:表示在每月的最后一天的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6L:表示在每月的最后一个星期六的上午8点的每分钟的第0秒执行。

0 0 8 ? * 6#3:表示在每月的第三个星期六的上午8点的每分钟的第0秒执行。

Spring Boot中使用Cron表达式

在Spring Boot中,可以使用@Scheduled注解配合Cron表达式来定义定时任务。

@Component  
public class TestJob {  @Scheduled(cron = "0/5 * * * * ?")  public void testJob() {  System.out.println("定时任务执行了");  }  
}

以上就是在Spring Boot中如何使用Cron表达式来定义定时任务的简单示例。

这篇关于cron 表达式语法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1091129

相关文章

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

Java基础回顾系列-第三天-Lambda表达式

Java基础回顾系列-第三天-Lambda表达式 Lambda表达式方法引用引用静态方法引用实例化对象的方法引用特定类型的方法引用构造方法 内建函数式接口Function基础接口DoubleToIntFunction 类型转换接口Consumer消费型函数式接口Supplier供给型函数式接口Predicate断言型函数式接口 Stream API 该篇博文需重点了解:内建函数式

Java基础回顾系列-第一天-基本语法

基本语法 Java基础回顾系列-第一天-基本语法基础常识人机交互方式常用的DOS命令什么是计算机语言(编程语言) Java语言简介Java程序运行机制Java虚拟机(Java Virtual Machine)垃圾收集机制(Garbage Collection) Java语言的特点面向对象健壮性跨平台性 编写第一个Java程序什么是JDK, JRE下载及安装 JDK配置环境变量 pathHe