概述
一、什么是任务调度
在开发系统的时候,有时需要在特定的时间执行一些任务,或者周期性的执行一些任务。比如: 某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。 某电商系统需要在每天凌晨0:10结算前一天的交易数据。 每天凌晨删除过期的垃圾信息。 每隔10分钟处理一次未支付的订单。 每隔10s同步MySQL中的数据到ElasticSearch
二、任务调度的相关技术
目前任务调度的技术非常的多,除了一些传统的任务调度框架以外,还有分布式任务调度技 术; 传统的任务调度框架 Spring Task,Quartz 分布式任务调度技术 xxl-job,elastic-job
三、Spring Task简介
Spring Task是一个功能强大的任务调度框架,它可以满足很多复杂的调度需求,可以在JavaSE项目 中使用,也可以在JavaEE的项目中使用,可以方便的和Spring,Spring Boot进行整合。是目前使用范围 最广的定时任务框架。单体应用以及大型互联网项目中都可以看到他的身影。 Spring Task是spring提供的一套任务调度技术,在使用的时候除了需要引入spring相关的依赖包以 外,不需要导入额外的依赖,使用简单
四、使用流程
1.创建项目时引入web依赖,因web依赖已经包含了spring中的相关依赖,不需其他依赖
2.创建启动类并且在上面添加@EnableScheduling注解
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class})
@EnableScheduling
public class HuiKeApplication implements CommandLineRunner {
@Autowired
private ITbActivityService activityService;
public static void main(String[] args){
SpringApplication.run(HuiKeApplication.class, args);
}
}
3.编写一个任务调度类,将任务调度类交给Spring管理
3.1 编写任务调度方法,方法必须是无返回值,无形参 3.2 在方法上指定注解@Scheduled,通过corn属性指定corn表达式
@Component
@Slf4j
public class MyTask {
@Scheduled(cron = "0 * * * * ?")
public void task01(){
System.out.println("i love you");
}
}
4.启动服务,Spring会根据corn表达式自动调用任务
五、Cron表达式
1.概念和组成
cron表达式是任务调度中的一种通用表达式,所有任务调度技术都支持,是用来描述任务的执行 时机;
cron表达式是由6部分或者7部分组成,有些框架支持7部分,有些框架支持6部分;每个部分称为 一个域; 如果是由7个域构成,对应的是:秒 分 时 日 月 周 年; 如果是由6个域构成,对应的是:秒 分 时 日 月 周;
2.cron字符
* : 任意
? : 放弃指定, 只会出现在 日 , 周
, : 枚举 , cron = "1,2,3,4,5 * * * * ?"
- : 范围 , 1-5 从1到5每秒执行一次
/ : 周期性执行, 0/5 , 从0开始每隔5秒执行一次.
3.Cron在线测试工具
http://www.jsons.cn/quartzcheck/
4.Cron细节
最后
以上就是失眠皮皮虾为你收集整理的任务调度快速入门一、什么是任务调度 二、任务调度的相关技术三、Spring Task简介 四、使用流程五、Cron表达式的全部内容,希望文章能够帮你解决任务调度快速入门一、什么是任务调度 二、任务调度的相关技术三、Spring Task简介 四、使用流程五、Cron表达式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复