Cron表达式_用于定时调度任务
一、Cron表达式简介
Cron表达式是一个用于设置计划任务的字符串,该字符串以5或6个空格分隔,分为6或7个域,每一个域代表任务在相应时间、日期或时间间隔执行的规则【Cron表达式最初是在类Unix操作中系统中使用的,但现在已经广泛应用于各种操作系统和编程语言中】。
Cron表达式常用于定时调度任务中(可通过Cron表达式来指定任务在某个时间点或进行周期性执行任务);Cron表达式的框架有:Quartz
Quartz.NET开源库实现作业定时调度——常用示例_quartz.net 完整示例
https://blog.csdn.net/xiaochenXIHUA/article/details/118462070?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169565142516800188570812%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=169565142516800188570812&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-2-118462070-null-null.nonecase&utm_term=quartz&spm=1018.2226.3001.4450
二、Cron表达式解析
Cron表达式,分为7部分,每个域代表一个含义(前6个字段是必须的,最后一个是可选的),如下所示:
| 域 | 秒 (second) | 分 (minute) | 时 (hour) | 日 (day) | 月 (month) | 星期几 (week) | 年份 (year) |
| 取值范围 | 0~59 | 0~59 | 0~23 | 1~31 | 1~12或 JAN-DEC | 1-7(1表示星期天) | 可选,1970~2099或者空 |
| 可出现的字符 | , - * / | , - * / | , - * / | , - * / ? L W C | , - * / | , - * / ? L C # | , - * / |
三、Cron表达式字符解析
| 序号 | 字符 | 字符说明 |
| 1 | , | 指定某几个值;比如【3,5,8】在秒字段里面表示每分钟的第3,第5,第8秒都会执行,以此类推。 |
| 2 | - | 指定的范围;比如【1-8】在秒字段里面表示每分钟的第1,第2,第3,第4,第5,第6,第7,第8秒都会执行,以此类推。 |
| 3 | * | 所有;在不同字段上都表示要所有,比如:每秒,每分,每小时等 |
| 4 | / | 指定值的起始和增加幅度;比如【5/6】在秒字段表示每分钟的第5秒开始,每隔6秒执行一次(即第5秒,第11秒,第17秒,第23秒,第29,第35,第41,第47,第53,第59秒开始执行) |
| 5 | ? | 仅用于【日】和【周】字段;因为在指定某日和周几的时候,这两个值实际上是冲突的,所以需要用【?】标识不生效的字段;比如【6 6 * * * ?】表示每年每月每日每小时的6分6秒触发任务,而这里的周就没有效果了 |
| 序号 | 字符 | 字符说明 |
| 1 | L | 最后;L只能出现在日和星期域;在日域中,L表示一个月的最后一天;在星期域中,L表示一个星期的最后一天 |
| 2 | W | 表示有效工作日(周一到周五);只能出现在日域,系统将在离指定日期的最近的有效工作日触发事件;比如:在 日使用5W,如果5日是星期六,则将在最近的工作日:星期五,即4日触发。如果5日是星期天,则在6日(周一)触发;如果5日在星期一 到星期五中的一天,则就在5日触发。另外,W的最近寻找不会跨过月份。 |
| 3 | C | 日历(表示canlendar);例如“1C”在星期域上就是包括日历上的星期日,基本无用 |
| 4 | LW | 这两个字符可以连用,表示在某个月最后一个工作日;比如最后一个星期五 |
| 5 | # | 用于确定每个月第几个星期几;比如在3#3,表示某月的第3个星期二 |
四、常见表达式
| 表达式 | 描述 |
|---|---|
| */1 * * * * ? | 每隔1秒执行一次 |
| */5 * * * * ? | 每隔5秒执行一次 |
| 0 */1 * * * ? | 每隔1分钟执行一次 |
| 0 0 23 * * ? | 每天23点执行一次 |
| 0 0 1 1 * ? | 每月1号凌晨1点执行一次 |
| 0 0 23 L * ? | 每月最后一天23点执行一次 |
| 0 0 1 ? * L | 每周星期六凌晨1点执行一次 |
| 0 26,29,32 * * * ? | 在每小时的26分、29分、32分执行一次 |
| 0 * 14 * * ? | 每天下午14点钟开始到14点59分结束这么一个时间段 |
| 0 0/5 14 * * ? | 每天下午14点到14点55分之间每5分钟触发一次 |
| 0 0/5 14,18 * * ? | 每天下午14点到14点55分 和18点到18点55分之间 每5分钟触发一次 |
| 0 0-5 14 * * ? | 每天下午14点开始到14点05结束 |
| 0 10,44 14 ? 3 WED | 每年三月的星期三的下午2:10和2:44触发 |
| 0 15 10 ? * MON-FRI | 周一至周五的上午10:15触发 |
| 0 10,14,16 * * ? | 每天上午10点,下午2点,4点 |
| 0/30 9-17 * * ? | 朝九晚五工作时间内每半小时 |
| 0 0 12 1/5 * ? | 每个月从第一天开始每隔5天中午12点触发一次 |
| 0 11 11 11 11 ? | 每年11月11号11点11分 |
| 0 0 0,13,18,21 * * ? | 每天的0点、13点、18点、21点都执行一次 |
| 0 0 10,14,16 * * ? | 每天上午10点,下午2点,4点 |
| 0 * 14 * * ? | 在每天下午2点到下午2:59期间的每1分钟触发 |
| 0 12 ? * WED | 表示每个星期三中午12点 |
| 0 0 12 * * ? | 每天中午12点触发 |
| 0 * 14 * * ? | 在每天下午2点到下午2:59期间的每1分钟触发 |
| 0 0/5 14 * * ? | 在每天下午2点到下午2:55期间的每5分钟触发 |
| 0 0/5 14,18 * * ? | 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 |
| 0 0-5 14 * * ? | 在每天下午2点到下午2:05期间的每1分钟触发 |
| 0 15 10 15 * ? | 每月15日上午10:15触发 |
| 0 15 10 L * ? | 每月最后一日的上午10:15触发 |
| 0 15 10 ? * 6L | 每月的最后一个星期五上午10:15触发 |
| 0 15 10 ? * 6L 2012-2018 | 2012年至2018年的每月的最后一个星期五上午10:15触发 |
| 0 15 10 ? * 6#3 | 每月的第三个星期五上午10:15触发 |
| 0 15 10 ? * * | 每天上午10:15触发 |
| 0 15 10 * * ? 2018 | 2018年的每天上午10:15触发 |
| 0 0/5 14 * * ? | 在每天下午2点到下午2:55期间的每5分钟触发 |
| 0 0 2 1 * ? * | 表示在每月的1日的凌晨2点调度任务 |
| 0 15 10 ? * MON-FRI | 表示周一到周五每天上午10:15执行作业 |
| 0 15 10 ? 6L 2002-2006 | 表示2002-2006年的每个月的最后一个星期五上午10:15执行作 |
| 0 0 23 * * ? | 每天 |
| 0 59 23 ? * SUN | 每周 |
| 0 59 23 L * ? | 每月 |
| 0 59 23 L 3,6,9,12 ? | 每季度 |
| 0 0 0 31 12 ? | 每年 |
五、Cron表达式验证网站
在线Cron表达式生成器通过这个生成器,您可以在线生成任务调度比如Quartz的Cron表达式,对Quartz Cron 表达式的可视化双向解析和生成.
https://cron.qqe2.com/
quartz/Cron/Crontab表达式在线校验工具-BeJSON.com可以看cron表达式执行时间,可以验证你的cron表达式是否正确
https://www.bejson.com/othertools/cronvalidate/
六、.NET的定时调度任务组件有哪些
C#/.NET/.NET Core定时任务调度组件有哪些? - 知乎原文由Rector首发于 码友网 之 C#/.NET/.NET Core应用程序编程中实现定时任务调度的方法或者组件有哪些,Timer,FluentScheduler,TaskScheduler,Gofer.NET,Coravel,Quartz.NET还是Hangfire?摘要C#/.NET/.NET Core的…
https://zhuanlan.zhihu.com/p/89976729
相关文章:
Cron表达式_用于定时调度任务
一、Cron表达式简介 Cron表达式是一个用于设置计划任务的字符串,该字符串以5或6个空格分隔,分为6或7个域,每一个域代表任务在相应时间、日期或时间间隔执行的规则【Cron表达式最初是在类Unix操作中系统中使用的,但现在已经广泛应用…...
CeresPCL ICP精配准(点到面)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 ICP算法总共分为6个阶段,如下图所示: (1)挑选发生重叠的点云子集,这一步如果原始点云数据量比较巨大,一般会对原始点云进行下采样操作。 (2)匹配特征点。通常是距离最近的两个点,当然这需要视评判的准则而…...
CentOS安装kafka单机部署
一:保证机器上已经运行的有Java环境 服务器:centos7 kafka版本:3.5.1 二:下载kafka压缩包 下载地址 1.解压kafka压缩包 tar -zxvf kafka_2.13-3.5.1.tgz 2.我得是上传到了 /home目录下,配置文件server.propertie…...
蓝牙核心规范(V5.4)11.2-LE Audio 笔记之LE Auido架构
专栏汇总网址:蓝牙篇之蓝牙核心规范学习笔记(V5.4)汇总_蓝牙核心规范中文版_心跳包的博客-CSDN博客 爬虫网站无德,任何非CSDN看到的这篇文章都是盗版网站,你也看不全。认准原始网址。!!&#x…...
福建江夏学院蔡慧梅主任一行莅临拓世科技集团,共探AI+时代教育新未来
在科技的海洋中,产业是那航行的巨轮,而教育则是指引方向的灯塔。当巨轮与灯塔相互辉映,产教融合与校企合作便成为了推动国家科技创新和人才培养的金钥匙,为未来开启一扇扇充满希望的大门。 2023年9月24日,福建江夏学院…...
使用Visual Leak Detector排查内存泄漏问题
目录 1、VLD工具概述 2、下载、安装VLD 2.1、下载VLD 2.2、安装VLD 3、VLD安装目录及文件说明 3.1、安装目录及文件说明 3.2、关于32位和64位版本的详细说明 4、在工程中引入VLD 5、内存泄漏检测实例讲解 5.1、程序启动报错 5.2、启动调试,查看内存泄漏报…...
如何设计一个 JVM 语言下的 LLM 应用开发框架?以 Chocolate Factory 为例
本文将介绍 Chocolate Factory 框架背后的一系列想法和思路。在我们探索和设计框架的过程中,受到了:LangChain4j、LangChain、LlamaIndex、Spring AI、Semantic Kernel、PromptFlow 的大量启发。 欢迎一起来探索:https://github.com/unit-mes…...
基础排序算法
插入排序(insertion sort) 插入排序每次循环将一个元素放置在适当的位置。像抓牌一样。手里的排是有序的,新拿一张牌,与手里的牌进行比较将其放在合适的位置。 插入排序要将待排序的数据分成两部分,一部分有序&#…...
Nginx的反向代理、动静分离、负载均衡
反向代理 反向代理是一种常见的网络技术,它可以将客户端的请求转发到服务器群集中的一个或多个后端服务器上进行处理,并将响应结果返回给客户端。反向代理技术通常用于提高网站的可伸缩性和可用性,并且可以隐藏真实的后端服务器地址。 #user…...
LLM-TAP随笔——大语言模型基础【深度学习】【PyTorch】【LLM】
文章目录 2.大语言模型基础2.1、编码器和解码器架构2.2、注意力机制2.2.1、注意力机制(Attention)2.2.2、自注意力机制(Self-attention)2.2.3、多头自注意力(Multi-headed Self-attention) 2.3、transforme…...
蓝桥杯备赛-上学迟到
上学迟到 P5707 【深基2.例12】上学迟到 - 洛谷 |https://www.luogu.com.cn/problem/P5707 题目介绍 题目描述 学校和 yyy 的家之间的距离为 s 米,而 yyy 以v 米每分钟的速度匀速走向学校。 在上学的路上,yyy 还要额外花费 1010 分钟的时间进行垃圾分…...
基于 MATLAB 的电力系统动态分析研究【IEEE9、IEEE68系节点】
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
2023百度之星 题目详解 公园+糖果促销
2023百度之星题目详解 文章目录 2023百度之星题目详解前言公园问题题目详解 夏日漫步问题问题详情题目详解 前言 这里为大家带来最新的2023百度之星的题目详解,后续还会继续更新,喜欢的小伙伴可以点个关注啦! 公园问题 今天是六一节&#…...
C++ 2019-2022 CSP_J 复赛试题横向维度分析(中)
上文讲解了2019~2022年第一题和第二题。第一题偏数学认知,算法较简单,第二题考查基本数据结构,如队列、栈……和基础算法,如排序、模拟……。 本文继续讲解第三题和第四题。 1. 第三题 1.1 2022 题目: 逻辑表达式…...
基于Spring Boot的IT技术交流和分享平台的设计与实现
目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域&#x…...
智算引领·创新未来 | 2023紫光展锐泛物联网终端生态论坛成功举办
9月21日,紫光展锐在深圳成功举办2023泛物联网终端生态论坛。论坛以“智算引领创新未来”为主题,吸引了来自信通院、中国联通、中国移动、中国电信、金融机构、终端厂商、模组厂商等行业各领域三百多位精英翘楚汇聚一堂,探讨在连接、算力驱动下…...
网络安全技术指南 103.91.209.X
网络安全技术指的是一系列防范网络攻击、保护网络安全的技术手段和措施,旨在保护网络的机密性、完整性和可用性。常见的网络安全技术包括: 防火墙:用于监控网络流量,过滤掉可能包括恶意软件的数据包。 加密技术:用于保…...
用flex实现grid布局
1. css代码 .flexColumn(columns, gutterSize) {display: flex;flex-flow: row wrap;margin: calc(gutterSize / -2);> div {flex: 0 0 calc(100% / columns);padding: calc(gutterSize / 2);box-sizing: border-box;} }2.用法 .grid-show-item3 {width: 100%;display: fl…...
东郊到家app小程序公众号软件开发预约同城服务系统成品源码部署
东郊到家app系统开发,东郊到家软件定制开发,东郊到家小程序APP开发,东郊到家源码定制开发,东郊到家模式系统定制开发 一、上门软件介绍 1、上门app是一家以推拿为主项,个人定制型的o2o平台,上门app平台提…...
kotlin的集合使用maxBy函数报NoSuchElementException
kotlin设定函数 fun test() {listOf<Int>().maxBy { it } } 查看java实现...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
