Bootstrap

一文了解定时任务


在这里插入图片描述


什么是定时任务?

定时任务,简要说明就是在指定时间内触发执行某个动作。类似于我们今天晚上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>

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;