定时任务---分布式任务调度xxljob

目录

1.定义

2.怎样生成定时任务(springboot自带的定时任务)

3.配置xxljob

 4.项目集成xxljob


1.定义

   定时任务:在特定时间点定时执行某个任务

   分布式任务调度xxl-job:在分布式任务系统中的定时任务,xxljob是一个开源的项目

2.怎样生成定时任务(springboot自带的定时任务)

        ①、注:所有的定时任务方法均为void

        ②、@Scheduled(cron=" ")中cron只支持六位数

但是这种方式在集群的情况下不能用,否则的话就有多个机器执行这段代码了,所以有了xxljob

3.配置xxljob

 ①、下载xxljob项目地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.(分布式任务调度平台XXL-JOB)

②、配置端口号和数据库(端口号自己设置,数据库设为自己放xxljob数据库的位置、sql文件项目里有)

 ③、建立文件夹放配置文件、开始、项目jar包

开始中修改地址为jar包所在地址

④、点击start启动项目(有一个黑框出现又消失表明项目启动成功)

⑤、 浏览器localhost:8089打开页面(8089为自己配置的端口号)用户名:admin 密码:123456

 4.项目集成xxljob

①、引进pom依赖

<dependency>

        <groupId>com.xuxueli</groupId>

         <artifactId>xxl-job-core</artifactId>

         <version>2.2.0</version>

</dependency>

②、将官方的配置文件复制进去

 ③、将配置里的复制到要集成项目的配置里

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin

### xxl-job, access token
xxl.job.accessToken=default_token

### xxl-job executor appname
xxl.job.executor.appname=xxl-job-executor-sample
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
xxl.job.executor.address=
### xxl-job executor server-info
xxl.job.executor.ip=
xxl.job.executor.port=9999
### xxl-job executor log-path
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
### xxl-job executor log-retention-days
xxl.job.executor.logretentiondays=30

④、第三行中参数appname对应这里

一个机器对应一个appname

⑤、启动项目

⑥、新建一个类交给spring去管理@Component

⑦、添加管理的方法

        a、@XxlJob("aaaa")中的参数aaaa填入JobHandler

         b、路由策略:一般情况下为第一个或者轮询

         c、用xxljob写一个定时任务

四个函数分别为:

输出日志(输出的日志在任务调度中心的调度日志处打印)

获取传的参数

一共有多少台机器

现在是第几台机器(3和为4为多个机器执行这部分代码时用)

猜你喜欢

转载自blog.csdn.net/qq_52240237/article/details/132075431