定时任务

Linux关于定时任务设置 定时任务是实现重复的工作,让系统自动完成, 设置定时任务的方法 方法一:使用 cronie 软件可以设置定时任务 方法二:使用atd软件可以说设置定时任务 和闹钟类似,需要每次都设置 方法三:使用anacron 软件设置定时任务 设置时间不够灵活 anacron是系统自带的,在 /etc/cron* 开头的文件 1. /etc/cron.daily - - - 每天定时执行(24小时周期)... 阅读详情

1.首先在启动类上添加

@EnableScheduling//开启定时功能的注解

 或者在配置类上添加

@Configuration
@EnableScheduling
public class ScheduleTask {
    @Scheduled(cron = "0/3 * * * * ?")
	private void synUnitToken() {
		System.out.println("定时任务启动,同步装置收率表");
		try {
//			deviceService.synUnitDevice();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 

2.写定时方法

//{秒数} {分钟} {小时} {日期} {月份} {星期}
@Scheduled(cron = "0/2 * * * * ?")
public void hello(){
    System.out.println("hello,你被执行了");
}

三:每个字段的允许值
字段 允许值 允许的特殊字符 
秒 0-59 , - * / 
分 0-59 , - * / 
小时 0-23 , - * / 
日期 1-31 , - * ? / L W C 
月份 1-12 或者 JAN-DEC , - * / 
星期 1-7 或者 SUN-SAT , - * ? / L C # 
年(可选) 留空, 1970-2099 , - * / 

四:允许值的意思:
Seconds (秒)         :可以用数字0-59 表示,

Minutes(分)          :可以用数字0-59 表示,
Hours(时)             :可以用数字0-23表示,
Day-of-Month(天) :可以用数字1-31 中的任一一个值,但要注意一些特别的月份
Month(月)            :可以用0-11 或用字符串  “JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV and DEC” 表示
Day-of-Week(每周):可以用数字1-7表示(1 = 星期日)或用字符口串“SUN, MON, TUE, WED, THU, FRI and SAT”表示

五:每个符号的意义:
* 表示所有值; 
? 表示未说明的值,即不关心它为何值; 
- 表示一个指定的范围; 
, 表示附加一个可能值; 
/ 符号前表示开始时间,符号后表示每次递增的值; 
L("last") ("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。 如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。 
W("weekday") 只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个 月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第 16天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在 day-of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。 
# 只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。 
C 指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

六:一些cron表达式案例

*/5 * * * * ? 每隔5秒执行一次
0 */1 * * * ? 每隔1分钟执行一次
0 0 5-15 * * ? 每天5-15点整点触发
0 0/3 * * * ? 每三分钟触发一次
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发 
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点 

0 0 12 ? * WED 表示每个星期三中午12点
0 0 17 ? * TUES,THUR,SAT 每周二、四、六下午五点
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发 
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 0 23 L * ? 每月最后一天23点执行一次
0 15 10 L * ? 每月最后一日的上午10:15触发 
0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发 
0 15 10 * * ? 2005 2005年的每天上午10:15触发 
0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发 
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
"30 * * * * ?" 每半分钟触发任务
"30 10 * * * ?" 每小时的10分30秒触发任务
"30 10 1 * * ?" 每天1点10分30秒触发任务
"30 10 1 20 * ?" 每月20号1点10分30秒触发任务
"30 10 1 20 10 ? *" 每年10月20号1点10分30秒触发任务
"30 10 1 20 10 ? 2011" 2011年10月20号1点10分30秒触发任务
"30 10 1 ? 10 * 2011" 2011年10月每天1点10分30秒触发任务
"30 10 1 ? 10 SUN 2011" 2011年10月每周日1点10分30秒触发任务
"15,30,45 * * * * ?" 每15秒,30秒,45秒时触发任务
"15-45 * * * * ?" 15到45秒内,每秒都触发任务
"15/5 * * * * ?" 每分钟的每15秒开始触发,每隔5秒触发一次
"15-30/5 * * * * ?" 每分钟的15秒到30秒之间开始触发,每隔5秒触发一次
"0 0/3 * * * ?" 每小时的第0分0秒开始,每三分钟触发一次
"0 15 10 ? * MON-FRI" 星期一到星期五的10点15分0秒触发任务
"0 15 10 L * ?" 每个月最后一天的10点15分0秒触发任务
"0 15 10 LW * ?" 每个月最后一个工作日的10点15分0秒触发任务
"0 15 10 ? * 5L" 每个月最后一个星期四的10点15分0秒触发任务
"0 15 10 ? * 5#3" 每个月第三周的星期四的10点15分0秒触发任务

七:cron表达式在线生成器

https://cron.qqe2.com/

Horae:开源轻量级、高性能的任务执行器 #horae horae : 时序女神,希腊神话中司掌季节时间和人间秩序的三女神,又译“荷莱”。 horae是一个基于redis和实现的轻量级、高性能的异步任务执行器,它的核心是disque提供的任务队列,而队列有先进先出的时序关系,故得名:horae。 horae的关注点不是队列服务的实现本身(已经有不少队列服务的实现了),而是希望借助于redis与disque提供的纯内存的高性能的队列机制,实现一个异步任务执行器。它可以自由配置任务来自哪种队列服务,它不关注任务执行的最终状态(它写向哪里)或与哪个系统交互,它给你提供一个执行器以及简单地编写任务执行逻辑的方式。 取决于需求,这个执行器在要求不高的时候,只需要一个单节点的redis服务器,即可运转。 如果你愿意牺牲一点性能,来换取更高的队列可靠性保障(这种情况我强烈推荐你使用AMQP协议以及它的开源队列实现:RabbitMQ)。如果你想这 立即下载

相关推荐

定时任务执行器

定时任务执行器

分布式任务调度平台xxl-job

1,在工作中,经常会涉及到定时任务,那么定时任务的实现方式有哪些? 实现方式1:Thread类下通过sleep方法来实现定时任务的效果 缺点:过于简单,只能实现很简单的定时任务的逻辑,不够灵活 public class Demo01 { static long count = 0; public static void...

weixin_30508241的博客 251

spring的三种任务调度实现方式lib

spring的三种任务调度实现方式lib

基于Redis的任务调度设计方案

基于Redis的任务调度设计方案: https://www.jianshu.com/p/7b9573242fb0

黑白相间... 899

BIOS/UEFI完全指南:从开机自检到超频魔改的底层硬件控制

计算机启动过程始于固件层,其核心是负责硬件初始化与引导的系统软件。传统BIOS基于16位实模式,寻址能力有限,而现代UEFI采用保护模式,支持图形界面与安全启动,实现了从概念到架构的革新。这一演进带来了显著的技术价值:更快的启动速度、更强的安全性以及对大容量存储设备的原生支持。在工程实践中,无论是解决“虚拟化技术禁用”问题、调整内存XMP配置以提升性能,还是为老主板“魔改”添加NVMe支持,都需要深入理解并操作BIOS/UEFI设置。掌握这些底层交互能力,是进行硬件调试、系统优化与故障排查的关键,也是连接抽

weixin_34236869的博客 458

树莓派5安装ROS1避坑指南:从系统配置到cmake报错全解决

本文详细介绍了在树莓派5上安装ROS1的完整流程,包括系统配置、环境变量设置、cmake报错解决等关键步骤。针对树莓派5的ARM架构特性,提供了从基础安装到高级调试的系统级解决方案,帮助开发者高效部署ROS1并避免常见编译陷阱。特别针对cmake报错问题,给出了深度解析和实用修复方法。

spark7igniter的博客 233

轻量级层次调度模型的研究及实现(我的硕士论文)

目 录<spanlang=EN-US style=mso-bidi-font-size:15.0pt><spanstyle=mso-spacerun:yes> TOC /o "1-3" /h /z /u <spanstyle=mso-element:field-separator><span lang="EN-US" style="font-family:黑体;ms

inode的专栏 513

Claude Code vs Codex

Claude Code 提供了一个生产就绪(production-ready)的实现,包含良好的错误处理、优雅的关闭逻辑、详细注释和文档,以及内置测试。Claude Code 输出了一个可运行的 Next.js + TypeScript 前端,但错过了一些设计里的黄色主题元素;Codex 则生成自己的版本,没有导出设计中的图片,也没严格遵照设计主题。Codex 完成同样功能,但更简洁直接,文档和注释少一些但功能达标。任务都用同样的提示,使用 TypeScript 实现,并在一天内完成。

weixin_49869937的博客 2388

开源调度系统hello job

Hello Job调度系统 系统简介: 本系统使用java开发,支持时间调度、作业依赖触发、手工执行三种调度方式。 时间调度:底层基于quartz实现,支持cron命令,实现灵活的时间调度方式。 作业依赖触发:一个子作业可以依赖多个父作业,一个父作业可以有多个子作业,系统同时做死循环判断,避免作业依赖形成环。 手工执行:对任何作业都可以手动触发一次。 系统自身并不承担业务逻辑,通过ssh ...

iture的博客 3574

向量数据库:PGVector

PGVector 是一个基于 PostgreSQL 的扩展插件,为用户提供了一套强大的向量存储和查询的功能

m0_37559973的博客 1万+

AUTOSAR CP R18-10 架构总览与导航

AUTOSAR CP R18-10 架构总览 本文档系统整理了AUTOSAR CP R18-10版本的199篇技术规范,涵盖7大架构层级: 应用层(15篇):包含车身舒适、底盘控制、HMI、安全系统、动力系统等AI应用 RTE(1篇):虚拟功能总线规范 服务层(159篇):细分为系统服务(OS/ECU管理/加密)、存储服务、通信服务(CAN/LIN/Ethernet) ECU抽象层(20篇):I/O与通信硬件抽象 MCAL(41篇):微控制器驱动层 复杂驱动(14篇):CDD设计与SPAL支撑 规范模板(2

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 722

springboot定时任务

目录 序言 一、静态:基于注解 阅读正文: 序言 使用SpringBoot创建定时任务非常简单,目前主要有以下三种创建方式: 一、基于注解(@Scheduled) 二、基于接口(SchedulingConfigurer) 前者相信大家都很熟悉,但是实际使用中我们往往想从数据库中读取指定时间来动态执行定时任务,这时候基于接口的定时任务就派上用场了。 三、基于注解设定多线程定时任务 一、静态:基于注解 基于注解@Scheduled默认为单线程,开启多个任务时,任务的执行时机会受上一......

乐昊的博客 9万+

Pareto 优化 (Pareto Optimization) 算法详解及案例分析

Pareto 最优解是指在多目标优化问题中,无法通过改进一个目标而不损害其他目标的解。具体来说,对于一个解x∗x^*x∗,如果不存在另一个解xxx使得所有目标函数fixf_i(x)fi​x都不劣于fix∗f_i(x^*)fi​x∗,且至少有一个目标函数fjxf_j(x)fj​x优于fjx∗f_j(x^*)fj​x∗,则x∗x^*x∗是 Pareto 最优解。

闲人编程的博客 2761

【定时任务】Java 中 8 种定时任务

1、Timer类是 JDK1.3 专门提供的定时器工具,用来在执行指定任务,需要跟TimerTask一起配合使用工作流程:把 任务TimerTask添加到 任务队列TaskQueue中,由异步无限循环任务队列,如果队列不为空,则去执行任务。Timer案例:执行一个定时任务,每隔1秒执行一次,延迟2秒执行所以,阿里巴巴开发者规范中不建议使用它是JDK1.5 版本引进的定时任务,,设计的初衷是为了解决Timer单线程执行,多个任务之间会互相影响的问题。实现了该接口。

sco5282的博客 1万+

计算机视觉学习路线图:从入门到专家

计算机视觉学习路线图:从入门到专家​ ,人工智能,计算机视觉,大模型,AI,计算机视觉学习路线图从七方面展开。先强调数学基础,含线性代数、概率统计和微积分;接着介绍 Python、OpenCV 等编程语言与工具;涵盖边缘检测、特征提取等经典算法;阐述深度学习中 CNN 结构、经典模型及实现;涉及目标检测、图像分割等高级专题;包含图像分类、目标检测和人脸识别等项目实战;最后提及科研进阶的论文阅读、项目参与和论文发表,助学习者从入门到专家。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 7万+

在 Visual Studio Code 中开发 SAP Fiori 应用并部署到 Cloud Foundry 的完整实战指南

摘要:本文介绍如何以ABAP RAP服务为后端,通过VS Code和SAP Fiori工具将Fiori应用一键部署到SAP BTP Cloud Foundry环境。主要内容包括:1) 开发环境配置(VS Code+Fiori工具);2) 架构流程说明(MTA打包、Approuter路由);3) 权限准备(业务Catalog分配);4) 创建带Approuter的MTA项目;5) 连接ABAP OData服务并生成Fiori应用。文中还针对常见问题(如服务不可见、部署失败)提供了解决方案参考。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 367

若依之定时任务

若依中定时任务是使用Quartz实现的,首先需要导入Quartz的依赖

wsb_2526的博客 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python实现定时任务的各种方法

python实现定时任务各种方法

y2016724的博客 3571

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

SpringBoot之定时任务

论在单体项目,单个实例中的定时任务相关问题。开发中遇到的场景是:一个单体项目,就比如一个后台管理系统需要多个定时任务去做一些业务处理。 分布式定时任务是接下来要详细讨论的问题。

孙小鸿的博客 2369

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

玩转SpringBoot之定时任务

详细讲解SpringBoot利用注解创建静态定时任务,利用接口创建动态定时任务,利用@EnableAsync和@Async创建多线程定时任务

Java学习之道 5683

定时任务——@Scheduled注解做定时任务

在启动类上面加上 @EnableScheduling 注解 开启 定时任务 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.ann...

qq_41505160的博客 7587

定时任务—Spring定时任务

Spring 为我们提供了异步执行任务调度的方式,提供了 TaskExecutor、TaskScheduler接口,还有两个注解 @EnableScheduling、@Scheduled。

Eris_QwQ的博客 1260

Java如何实现定时任务?

看完这篇文章你会了解到什么是定时任务,以及为什么austin项目要引入分布式定时任务框架,可以把代码下载下来看到我是怎么使用xxl-job的。 01、如何简单实现定时功能? 我是看视频入门Java的,那时候学Java基础API的时候,看的视频也带有讲定时功能(JDK原生就支持),我记得视频讲师写了Timer来讲解定时任务。 当时并不知道定时任务有什么实际作用,所以在初学阶段的我,从来没使用过Timer来实现定时的功能。 再后来,我学到并发了。那时候的讲师提到了ScheduledExecutorServic

m0_68064743的博客 6356

linux定时任务_linux定时任务

1.定时任务介绍1.1 crond是什么crond是linux系统中用来定期执行命令或指定程序的一种服务或软件。特殊要求:(秒级别)crond服务就无法搞定了,一般工作中写脚本用守护进程执行[root@shellbiancheng jiaobenlianxi]# cat while1.sh #!/bin/shwhile true do uptime sleep 2 done1.2 linux系统c...

weixin_39967812的博客 2681

定时任务实现

cron():用于指定Cron表达式,表示任务的执行时间规则。例如0 0 * * *?表示每天的凌晨12点执行一次任务。zone():用于指定Cron表达式的时区,默认为空字符串。如果需要根据不同的时区执行任务,则可以设置该属性。fixedDelay()和fixedDelayString():用于指定任务的固定延迟时间,即任务结束后等待多长时间再次执行。默认值为-1,表示不使用固定延迟。

weixin_47480200的博客 2483

Python定时任务

Python下实现定时任务的方式有很多种方式。 循环sleep: 这是一种最简单的方式,在循环里放入要执行的任务,然后sleep一段时间再执行。缺点是,不容易控制,而且sleep是个阻塞函数。 def timer(n): ''' 每n秒执行一次 ''' while True: print time.strftime('%Y-%m

whiterbear的专栏 4万+
上一篇: java中Date日期类型的大小比较
下一篇: 在SpringBoot中输出mybatis中的SQL
hello_xing
博客等级 码龄8年 1930粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值