当前位置: 首页 > news >正文

cron介绍

cron表达式在线生成

  • 在使用定时调度任务的时候,我们最常用的,就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。

cron表达式的组成

cron表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字段是必须的,最后一个是可选的。每个字段的含义如图所示:
在这里插入图片描述
从左到右,依次对每个字段指定相应的值,就可以确定一个任务的执行时间点和周期了。

字符介绍

在大部分使用cron的场景下, - * / ? 这几个常用字符就可以满足我们的需求了。

常用

  • 【*】:每的意思。在不同的字段上,就代表每秒,每分,每小时等。
  • 【-】:指定值的范围。比如[1-10],在秒字段里就是每分钟的第1到10秒,在分就是每小时的第1到10分钟,以此类推。
  • 【,】:指定某几个值。比如[2,4,5],在秒字段里就是每分钟的第2,第4,第5秒,以此类推。
  • 【/】:指定值的起始和增加幅度。比如[3/5],在秒字段就是每分钟的第3秒开始,每隔5秒生效一次,也就是第3秒、8秒、13秒,以此类推。
  • 【?】:仅用于【日】和【周】字段。因为在指定某日和周几的时候,这两个值实际上是冲突的,所以需要用【?】标识不生效的字段。比如【0 1 * * * ?】就代表每年每月每日每小时的1分0秒触发任务。这里的周就没有效果了。

不常用

  • SUN:仅用于【周】字段,表示星期日。也可以用数字1设置。周日到周六分别为SUN,MON,TUE,WED,THU,FRI和SAT,对应数字1,2,3,4,5,6,7。目前Quartz支持。
  • L:即last,用于【日】【周】字段。这里需要注意的是,在不同的字段的不同使用方式,其含义有所差别。
    用于日字段:直接使用L代表每个月的最后一天。也支持偏移量的方式,配置[L-1]则代表每月的倒数第二天。
    用于周字段:直接使用L代表每周的最后一天,也就是等效于[7]或[SAT],但是如果配合上数字,比如[7L],则代表每个月最后一个周六,等效于[SATL]。目前Quartz支持。

常用cron表达式例子

(1)0/2 * * * * ? 表示每2秒 执行任务

(1)0 0/2 * * * ? 表示每2分钟 执行任务

(1)0 0 2 1 * ? 表示在每月的1日的凌晨2点调整任务

(2)0 15 10 ? * MON-FRI 表示周一到周五每天上午10:15执行作业

(3)0 15 10 ? 6L 2002-2006 表示2002-2006年的每个月的最后一个星期五上午10:15执行作

(4)0 0 10,14,16 * * ? 每天上午10点,下午2点,4点

(5)0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时

(6)0 0 12 ? * WED 表示每个星期三中午12点

(7)0 0 12 * * ? 每天中午12点触发

(8)0 15 10 ? * * 每天上午10:15触发

(9)0 15 10 * * ? 每天上午10:15触发

(10)0 15 10 * * ? 每天上午10:15触发

(11)0 15 10 * * ? 2005 2005年的每天上午10:15触发

(12)0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发

(13)0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发

(14)0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

(15)0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发

(16)0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发

(17)0 15 10 ? * MON-FRI 周一至周五的上午10:15触发

(18)0 15 10 15 * ? 每月15日上午10:15触发

(19)0 15 10 L * ? 每月最后一日的上午10:15触发

(20)0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发

(21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发

(22)0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发

相关文章:

cron介绍

cron表达式在线生成 在使用定时调度任务的时候,我们最常用的,就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。 cron表达式的组成 cron表达式是一个字符串,由6到7个字段组成,用空格分隔。其中前6个字…...

mkp勒索病毒的介绍和防范,勒索病毒解密,数据恢复

mkp勒索病毒是一种新兴的电脑病毒,它会对感染的电脑进行加密,并要求用户支付一定的赎金才能解锁。这种病毒已经引起了全球范围内的关注,因为它不仅具有高危害性,而且还有很强的传播能力。本文将对mkp勒索病毒进行详细介绍&#xf…...

【面试精品】关于面试会遇到的Apache相关的面试题

1. Apache HTTP Server 基于什么协议提供网页浏览服务? 答:基于标准的http网络协议提供网页浏览服务。 2. 简述编译安装httpd软件包的基本过程? 答:解包,配置,编译,安装。 3. 编译安装httpd软…...

python对文件转md5,用于文件重复过滤

直接上代码 import hashlibdef calculate_md5(file_path):# 创建 MD5 哈希对象md5_hash hashlib.md5()# 打开文件并逐块读取,更新哈希值with open(file_path, rb) as file:while True:data file.read(8192) # 逐块读取文件,每块大小为 8192 字节if n…...

mac苹果电脑删除顽固残留软件图标

核心:删除“启动台”数据库里对应app的信息 1、打开访达(Finder),点击最顶部菜单栏的【前往》前往文件夹】,接着输入【/private/var/folders】 2、在弹出的访达(Finder)窗口搜索栏输入【com.ap…...

【jsvue】联合gtp仿写一个简单的vue框架,以此深度学习JavaScript

用 gtp 学习 Vue 生命周期的原理 lifecycle.js function Vue(options) {// 将选项保存到实例的 $options 属性中this.$options options;// 若存在 beforeCreate 钩子函数,则调用之if (typeof options.beforeCreate function) {options.beforeCreate.call(this);…...

linux centos7 系统之编程:求水仙花数

在Python编程中,有列表、元组和字典三类变量可以使用,方便数据的存储与处理,而bash中仅有字符串变量、数组、函数可用,方法运用上受到限制,这与bash基于C语言,注重语法结构的严谨有关。而Python等高级语言更…...

git中的cherry-pick和merge有些区别以及cherry-pick怎么用

git中的cherry-pick和merge在使用场景上有些区别: cherry-pick用于将另一个分支的某一次或几次commit应用到当前分支。它可以选择性地拉取代码修改。merge用于将两个分支合并成一个新分支。它会把整个分支上的所有修改都合并过来。 具体区别:cherry-pick通常用于将bug修复从发…...

【前端】CSS-Flex弹性盒模型布局

目录 一、前言二、Flex布局是什么1、任何一个容器都可以指定为Flex布局2、行内元素也可以使用Flex布局3、Webkit内核的浏览器,必须加上-webkit前缀 三、基本概念四、flex常用的两种属性1、容器属性2、项目属性 五、容器属性1、flex-direction①、定义②、语句1&…...

Android AAPT: error: resource color 异常原因处理

异常体现: Android resource linking failed ERROR:E:\software\Developer\APP\GaoDeTest2\app\src\main\res\values\themes.xml:3:5-9:13: AAPT: error: resource color/purple_500 (aka com.example.gaodetest2:color/purple_500) not found.ERROR:E:\software\De…...

C++std::function和std::bind()的概念

std::function: 一个通用的函数封装器,它允许你存储和调用任何可以被调用的东西,例如函数、函数指针、函数对象、Lambda 表达式等。 std::bind: 用于创建函数对象。一个可调用对象的绑定版本,可以提前绑定某些参数&am…...

QT Creator工具介绍及使用

一、QT的基本概念 QT主要用于图形化界面的开发, QT是基于C编写的一套界面相关的类库,如进程线程库,网络编程的库,数据库操作的库,文件操作的库等。 如何使用这个类库:类库实例化对象(构造函数) --> 学习…...

python爬虫13:pymysql库

python爬虫13:pymysql库 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网站产生…...

权限管理 ACL、RBAC、ABAC的学习

ACL(Access Control List:访问控制列表) 最简单的一种方式,将权限直接与用户或用户组相关联,管理员直接给用户授予某些权限即可。 这种模型适用于小型和简单系统,权限一块较为简单,并且角色和权限的变化较少。 RBAC(R…...

python的re正则表达式

一、正在表达式的方法(): re是Python中用于处理正则表达式的内置库,提供了许多有用的方法。以下是其中几个常用的方法: re.match(pattern, string): 尝试从字符串的开头匹配一个模式,如果匹配成功则返回匹…...

【算法与数据结构】700、LeetCode二叉搜索树中的搜索

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;二叉搜索树的性质&#xff1a;左节点键值 < 中间节点键值 < 右节点键值。那么我们根据此性质&am…...

SpringBoot v2.7.x+ 整合Swagger3入坑记?

目录 一、依赖 二、集成Swagger Java Config 三、配置完毕 四、解决方案 彩蛋 想尝鲜&#xff0c;坑也多&#xff0c;一起入个坑~ 一、依赖 SpringBoot版本&#xff1a;2.7.14 Swagger版本&#xff1a;3.0.0 <dependency><groupId>com.github.xiaoymin<…...

说说你了解的 CDC

分析&回答 什么是 CDC CDC,Change Data Capture,变更数据获取的简称&#xff0c;使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游&#xff0c;供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。用户可以在以下的场景下使用CDC&#xff1a; 使用f…...

SpingMvc入门

SpingMvc入门 1.MVC Spring的工作流程&#xff1a;2.sping mvc入门3.静态资源处理 前言 Spring MVC是一种基于Java的web应用开发框架&#xff0c;它采用了MVC&#xff08;Model-View-Controller&#xff09;设计模式来帮助开发者组织和管理应用程序的各个组件。 1.MVC Spring的…...

JVM的故事——类文件结构

类文件结构 文章目录 类文件结构一、概述二、无关性基石三、Class类文件的结构 一、概述 计算机是只认由0、1组成的二进制码的&#xff0c;不过随着发展&#xff0c;我们编写的程序可以被编译成与指令集无关、平台中立的一种格式。 二、无关性基石 对于不同平台和不同平台的…...

OLAP] DuckDB : 开源免费的、面向嵌入式场景、列式存储的分析型数据库

0 序 DuckDB 是近期非常火的一款 AP 数据库&#xff0c;其独特的定位很有趣。甚至有数据库产品考虑将其纳入进来&#xff0c;作为分析能力的扩展。 考虑到项目中一个数据处理场景&#xff0c;就此调研一二。 DuckDB 的爆火&#xff0c;也给所有盲目追逐“大数据”的技术人敲响…...

Pixel Epic动态卷轴技术揭秘:TextIteratorStreamer流式输出实现原理与调优

Pixel Epic动态卷轴技术揭秘&#xff1a;TextIteratorStreamer流式输出实现原理与调优 1. 引言&#xff1a;像素史诗的独特体验 Pixel Epic&#xff08;像素史诗&#xff09;作为一款研究报告辅助终端&#xff0c;最引人注目的特点莫过于其独特的"动态卷轴"输出效果…...

LC_numStream:嵌入式轻量级数字流解析库

1. LC_numStream 库概述&#xff1a;面向嵌入式通信的轻量级数字流解析工具LC_numStream 是一个专为资源受限嵌入式系统设计的纯 C 语言文本数字流解析库。其核心定位并非通用字符串处理&#xff0c;而是解决嵌入式设备在串口、UART、I2C、SPI 或自定义协议通信中高频出现的一类…...

聚焦 AI 智能体:2026年上市企业综合竞争力全景盘点

随着人工智能技术的深度渗透&#xff0c;AI智能体正从概念走向规模化应用&#xff0c;成为企业数字化转型的核心引擎。在A股市场中&#xff0c;多家上市公司积极布局AI智能体赛道&#xff0c;凭借各自的技术积淀与行业理解&#xff0c;推出了差异化的产品与服务。本文将聚焦五家…...

手把手教你用TI F28P65X开发板实现LED定时闪烁(基于CPU Timer2,含完整源码)

从零玩转TI F28P65X开发板&#xff1a;CPU Timer2实现可调频LED闪烁实战指南 刚拿到TI F28P65X开发板时&#xff0c;面对密密麻麻的引脚和复杂的开发环境&#xff0c;很多嵌入式新手会感到无从下手。本文将带你用最直观的方式&#xff0c;通过控制LED闪烁这个经典入门项目&…...

YOLOv8鹰眼检测实战:无人机巡检场景下的目标识别应用

YOLOv8鹰眼检测实战&#xff1a;无人机巡检场景下的目标识别应用 1. 无人机巡检的视觉挑战与解决方案 在电力线路巡查、交通监控、农业勘测等场景中&#xff0c;无人机正成为不可或缺的空中巡检工具。然而传统人工分析航拍图像的方式存在效率低下、漏检率高、响应延迟等问题。…...

如何掌握Marzipano全景技术的5个核心技术?

如何掌握Marzipano全景技术的5个核心技术&#xff1f; 【免费下载链接】marzipano A 360 media viewer for the modern web. 项目地址: https://gitcode.com/gh_mirrors/ma/marzipano 探索现代Web全景图开发的奥秘&#xff0c;发现Marzipano如何通过等距柱状投影、立方体…...

从AMP到cuFFT:半精度训练中非2的幂维度问题的深度解析与实战规避

1. 从报错信息看半精度训练中的cuFFT限制 最近在调试一个深度学习模型时&#xff0c;遇到了这样的报错&#xff1a;"RuntimeError: cuFFT only supports dimensions whose sizes are powers of two when computing in half precision"。这个错误看似简单&#xff0c…...

拓扑排序别再死记硬背了!用邻接矩阵手搓一个(附C++/C语言单文件实现)

拓扑排序的工程化实现&#xff1a;从邻接矩阵到零依赖代码实战 第一次接触拓扑排序时&#xff0c;我盯着教科书上的算法描述看了半天——"选择一个入度为0的顶点并输出"、"从图中删除该顶点和所有以它为起点的有向边"——这些抽象的描述让我困惑不已。直到…...

微信小程序物流信息对接实战:发货接口的完整实现指南

1. 微信小程序物流对接的核心价值 对于电商类小程序来说&#xff0c;物流信息同步是用户体验的关键环节。当用户下单后&#xff0c;最关心的就是"我的包裹到哪了"。传统做法需要用户手动复制单号到第三方平台查询&#xff0c;而通过微信官方物流接口&#xff0c;可以…...