美文网首页
定时任务

定时任务

作者: 灿烂的GL | 来源:发表于2020-05-29 19:19 被阅读0次

简介:常用的两种定时任务一种是后台配置的(比如定时做数据拉取),一种是支持前端可配置时间的

一、 不可更改定时任务

1、基于springboot静态注解(@Scheduled)

在定时任务方法上加上@Scheduled,时间配置的cron参数,如何生成参考链接【1】。

启动类需要允许定时,加上注解@EnableScheduling

@EnableScheduling

@Scheduled里还支持其他参数,如:

@Scheduled(fixedDelay = 5000) //上一次执行完毕时间点之后5秒再执行

@Scheduled(initialDelay=1000, fixedRate=5000) //第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次

参考链接:

【1】cron自动生成:https://www.pppet.net/


2、基于XXjob的定时任务

XXjob服务主要是由执行器和JobHandler组成的,一个执行器下边可
以包含多个JobHandler通过调度(线程)执行。

摘自其他链接
运行的基本原理是:初始化调度中心,启动监控、调度器,当调用JobHandler时,会将JobHandler注册到注册中心,调度中心会调用线程执行该job。
举个例子:
导入依赖
依赖
执行器的配置
执行器配置
定时任务的执行:
定时任务
参考链接:
【1】原理:https://www.cnblogs.com/guoyinli/p/11555035.html

二、 支持用户自定义定时任务

实现目标是:支持用户可配置的定时任务
设计思想是:数据库表存放cron,便于前后端取,采用
ThreadPoolTaskScheduler线程池进行任务的调度,如果后端配置cron和前端用户设置的cron不同,则取用户配置的cron调用定时方法。
举个例子:

image.png
数据库
新建线程
初始化定时任务

ThreadPoolTaskScheduler:线程池任务调度类,能够开启线程池进行任务调度。
ThreadPoolTaskScheduler.schedule()方法会创建一个定时计划ScheduledFuture,在这个方法需要添加两个参数,Runnable(线程接口类) 和CronTrigger(定时任务触发器)


修改定时任务

参考链接:
【1】参数详解:https://my.oschina.net/sdlvzg/blog/1590946

相关文章

  • 2019-07-31定时任务

    定时任务 定时任务实现方法 系统默认定时任务 用户自定义设置定时任务 定时任务配置文件 定时任务启动 定时任务样例...

  • 分布式定时调度-xxl-job

    一、定时任务概述 1.1 定时任务认识 1.1.1 什么是定时任务 定时任务是按照指定时间周期运行任务。使用场景为...

  • day 22 操作系统定时任务

    系统定时任务概念==生活中闹钟 系统定时任务实现方法: 实现定时任务配置: 定时任务如何进行设置 定时任务编写常见...

  • 7月30日 定时任务

    定时任务 代替人自动完成一些任务 定时任务实现的方法 定时任务软件:cronie定时任务软件:atd --- 设...

  • SpringBoot 定时任务

    1.如何定时任务 1.1 开启定时任务 1.2 @Scheduled(预定的)选择要定时执行的任务 == 定时在前...

  • crontab 定时任务

    查看当前用户的定时任务列表 创建(编辑)定时任务列表 定时任务格式 删除定时任务 注意 一定要设置crontab的...

  • 2019-10-14 定时任务方案

    定时任务方案 定时任务实现

  • Linux定时任务Crontab

    定时任务服务提供crontab命令来设定任务 定时任务命令: 定时任务服务提供crontab命令来设定任务 cro...

  • Android中 Handler延时 定时任务

    1.延时 2.定时任务,间隔固定时间执行某项任务 3.定时任务,间隔固定时间执行某项操作后关闭定时任务 参考:ht...

  • crondtab 定时任务

    编辑定时任务 crontab -e 查看定时任务 crontab -l 删除定时任务 crontab -r 如:*...

网友评论

      本文标题:定时任务

      本文链接:https://www.haomeiwen.com/subject/gpjdwhtx.html