定时任务执行时间设置详解

news/2024/11/7 14:27:19/

目录

  • 前提
    • 实践举例
      • 定时任务执行时间设置详解
        • 定时器包含的子表达式和对应子表达式允许的值
        • 子表达式中特殊字符含义的解释和相应示例

前提

一般在处理业务过程中,都需要在特定的时间点执行特定的任务,尤其是业务复杂且执行时间很长,业务之间关联性强的时候,定时任务执行时间的设置显得更为重要。

实践举例

比如有相关性的两个任务A和B ,A需要在凌晨5点执行,且预估执行时间是5小时,B任务需要在A任务执行数据结果的基础上执行,那么根据既往执行情况,将B任务的执行时间设置在上午11点开始执行,执行2小时完毕。

这里需要注意的要精细掌握任务的执行时间,如果为任务预留的执行时间过短很可能会导致后续任务失败,做无用功。比如随着业务量的增大,A任务将会有原来执行3小时就执行完毕会延长为执行5小时才能执行完毕,这时候就需要运营做密切监控,适当调整任务间执行间隙。

定时任务执行时间设置详解

一般都会有前端页面可视化配置定时任务执行频率,具体设置页面举例如下:
在这里插入图片描述
具体调度规则的规范现细列如下:

定时器包含的子表达式和对应子表达式允许的值

{秒数} {分钟} {小时} {日期} {月份} {星期} {年份(可为空)}
(059)(059)(023)(031)(011)(17)(1970-2099)
其中星期中的1到7代表从礼拜一到礼拜日,1=SUN,所以也可以写成大写缩写的形式:SUN,MON,TUE,WED,THU,FRI,SAT。
上述中每个大括号可以认为是一个子表达式。
一个定时器的配置至少有前6个也可能有7个子表达式组成,因为年份是可选的可为空。

子表达式中特殊字符含义的解释和相应示例

*:代表所有可能的值。
?:仅用于天(月)和天(星期)两个表达式,表示不指定值。当其中之一被指定值以后,需要将另一个子表达式设置为?。
L:字符仅被用于天(月)和天(星期)两个子表达式,天(月)表示一个月最后一天,天(星期)表示一个星期最后一天即SAT。
-:表示一个连续区间
/:指定数值的增量,间隔。
,:指定子表达式中具体的值
15 * * * * ? 每15秒钟执行一次
0 0 2 * * ? 每天凌晨2点执行一次
0 49 16 * * ? 每天下午16:49执行一次
0 1,31 * * * ? * 每小时的每1分钟和每31分钟的时候执行一次
0 0 10,16,22 * * ? 每天10点、16点、22点执行一次
0 30 1-6 * * ? 上午1点到6点之间每到30分钟的时候执行一次
0/3 * * * * ? 从第0秒开始,每3秒钟执行一次
0 0/2 * * * ? 每小时的0分0秒开始,每2分钟执行一次
0 0/20 7-10 * * ? 每天7点到10点之间每隔20分钟执行一次
15 12 1 2 1 ? 2009 2009年1月2号1点12分15秒执行
15 12 1 ? 10 SUN 2009 2009年10月每周日1点12分15秒执行


http://www.ppmy.cn/news/428417.html

相关文章

家中群晖NAS遇到断电如何自动关机

群晖NAS遇到断电时如何自动关机 前置条件实现功能的想法具体实施的步骤开启群晖Linux的SSH登陆安装Putty或是Xshell远程登陆上群晖创建计划任务 前置条件 需要一台UPS(品牌功能不限,只需续航5分钟以上就可以) 实现功能的想法 通过监控网卡…

分布式安装配置spark-3.2.3

Spark是一个基于内存的大数据计算框架,可以与Hadoop集成,提供更快速的数据处理能力。本文将介绍如何在三个Ubuntu系统上搭建一个Spark集群。 主要步骤包括: 准备工作:下载安装包,设置环境变量,解压安装包…

01_03_插入排序(Insertion Sort)

插入排序(Insertion Sort) 插入排序(Insertion Sort)介绍: 是一种简单的排序算法。它的原理是将待排序的元素逐个插入到已排序序列中的合适位置,从而逐步构建有序序列。 插入排序(Insertion …

vue3+ts:shims-vue.d.ts

一、本文引子 uniapp(3.8.4.20230531) vue3 ts vite 项目 在搭建这个base项目的时候出现红素波浪线如图,代码运行正常,但是看起来很难受,于是各种查找,能找到的资料很少,可能和我提问不够准…

Java之数组

Java之数组 数组也是对象。数组只是相同类型的、用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。数组是通过方括号下标操作符[]来定义和使用的。所有的数组类型,不管是对象数组还是基本类型的数组都扩展了Object类。当创建一个数组对象时&#xff0…

英特尔处理器能用鸿蒙系统吗,鸿蒙系统能不能兼容windows的所有应用软件?

众所周知,鸿蒙系统是一个跨平台的系统,支持电脑、手机、平板、智能穿戴等硬件设备。如果鸿蒙系统,同时支持所有的win应用、android应用,那么岂不是不用担心“生态”问题,实现“一统江湖”了吗?下文具体说一…

x86服务器能装64位系统吗,x86处理器能装64位系统吗_64位系统装32位的可以么

2019-02-04 10:08:44  浏览量:6162 32位处理器支持安装64位系统吗?处理器就是我们熟知的cpu,处理器分32位和64位,现在处理器几乎都是64位,不过早期的处理器普遍是32位,那么32位处理器能装64位系统吗?从技术角度看,32位处理器是不能装64位系统的,因为不支持,不确定的…

笔记本cpu型号怎么看?笔记本处理器型号的类型与查看方法

先来看看笔记本cpu型号怎么看 1,查看电脑的标签,如果是品牌机或者笔记本,一般在笔记本键盘的右下方有标签注明。如下图所示: 2,右击“计算机”,选择“属性”,可查看。 笔记本处理器型号的类型介…