一文了解定时任务

  • Post author:
  • Post category:其他


在这里插入图片描述




什么是定时任务?

定时任务,简要说明就是在指定时间内触发执行某个动作。类似于我们今天晚上12要买个东西,然后你需要定一个闹钟提醒你,告诉你12点你需要买个东西,这个闹钟定时提醒你,就是一种定时任务。



定时任务的应用场景

下订单:30分钟以内实现付款功能 。

下订单:开始定时任务;是否付款,付款,完成订单;没有付款,取消订单。

数据库:定时清理,统计。



使用Schedule实现定时任务

Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每

一个域代表一个含义,Cron有如下两种语法格式:

(1) Seconds Minutes Hours DayofMonth Month DayofWeek Year

(2)Seconds Minutes Hours DayofMonth Month DayofWeek

字段 允许值 允许的特殊字
– 0~59的整数 , – * / 四个字符
0~59的整数 , – * / 四个字符
小时 0~23的整数 , – * / 四个字符
日期 1~31的整数(但是你需要考虑你月的天数) ,- * ? / L W C 八个字符
月份 1~12的整数或者 JAN-DEC , – * / 四个字符
星期 1~7的整数或者 SUN-SAT(1=SUN) , – * ? / L C # 八个字符
年(可选,留空) 1970~2099 , – * / 四个字符



例子

@Configuration
@EnableScheduling
public class MyJobTest {
@Scheduled(cron="0/2 * * * * *")
public void task(){
System.out.println("时间:"+
LocalDateTime.now());
}
}



使用quartz实现定时任务

1、引入jar

在这里插入图片描述

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starterquartz</artifactId>
</dependency>



版权声明:本文为z45351原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。