SpringCloud+xxl-job任务调度的简单使⽤
概述:
xxl-job是⼀个轻量级分布式任务调度平台,其核⼼设计⽬标是开发迅速、学习简单、轻量级、易扩展。
之前开发的SpringCloud项⽬,因为其中有个应⽤有⼏个定时任务,为了统⼀管理和更可视化以及监控提醒于是加⼊了xxl-job。好了,废话不多说,直接上⼲货。
使⽤:
然后导⼊其中的xxl-job-admin,我把xxl-job任务调度单独抽成了⼀个服务(坚持⼀个服务专做⼀件事)然后修改application.properties的配置,
修改端⼝号,这⾥我的job应⽤端⼝是8083
修改数据库的路径和账号密码
这是我的数据库配置,
然后修改这⾥这⾥在后边解释为什么要配置邮箱(发件⼈的邮箱),这⾥的密码不是登陆的密码,⽽是这⾥
的授权码
这⾥简单说⼀下授权码的配置,登陆163邮箱然后点击设置,再点击POP3/SMTP/IMAP,然后再点击客户端授权密码--->开启客户端授权码--->重置授权码(如果忘记了授权码),然后设置授权码,这个授权码就是
spring.mail.password的密码。(port要填写什么根据⾃⼰的实际情况填写我给粘到下边了)
然后在xxl-job-admin服务中导⼊xxl-job-core的包
<dependency>
<groupId>com.xuxueli</groupId>
<artifactId>xxl-job-core</artifactId>
<version>2.1.0</version>
</dependency>
好的,启动这个应⽤(这⾥要先启动⼀下eureka)然后访问localhost:8083(⾃⼰配置的端⼝号)
如果出现这个界⾯,那就是配置成功了。(默认账号密码是admin 123456)
下⼀步要在有定时任务的应⽤中配置
在有定时任务的应⽤中导⼊xxl-job-core包(同上),然后在应⽤的yml/properties的配置⽂件中加⼊配置(这⾥我的是.yml⽂件)
然后配置好⾃⼰此应⽤的端⼝号,然后新建⼀个config去赋值(在下载的⽂件中xxl-job-2.1.0\xxl-job-2.1.0\xxl-job-executor-samples\xxl-job-executor-sample-springboot\src\main\java\com\xxl\job\executor\core\config\XxlJobConfig.java,可以直接导⼊)
然后再去新建⼀个类继承IJobHandler然后execute的⽅法中编写⾃⼰要执⾏的定时任务,
这⾥的XxlJobLogger.log是xxl收集⽇志的类,好了,到此为⽌代码⽅⾯就结束了,然后启动这个应⽤
下⼀步:
打开localhost:8083,然后登陆进去点击执⾏器管理--->新增执⾏器(这⾥的appName就是之前在有定时任务的应⽤中
springcloud和springboot的.yml/.properties⽂件中配置的appname,名称就相当于备注,排序就是列表显⽰的先后顺序,注册⽅式选⾃动注册,机器地址不⽤填写,然后保存)--->点击任务管理--->新增(这⾥的执⾏器就是刚才新增的执⾏器,任务描述就是备注,如果没有集这⾥的路由策略就随便选⼀个就可以,cron就是执⾏定时任务的执⾏策略不懂得可以去搜搜,运⾏模式就选bean就可以具体的也可以去百度⼀下,JobHandler是之前新建的定时任务类,阻塞处理策略就不⽤解释了字⾯意思就可以理解,⼦任务id是什么呢,如果定时任务直接有业务关联要有先后顺序的话这⾥的⼦任务id就要写执⾏完这个任务需要⽴马执⾏下个任务的id,任务超时时间就是如果这个任务超过了这个设定的时间那么就会报警单位是秒,报警邮箱就是如果任务执⾏失败了那么就会给这⾥填写的邮箱发送信息,可以填写多个,那么发件⼈是谁呢,就是之前说的在xxl-job-admin中配置的163邮箱)都填写完了然后点击保存。
下⼀步:
这⾥填写完了就要执⾏这⾥的操作了(执⾏就是执⾏⼀次,启动就会根据填写的cron去定时的执⾏)
xxl-job是个开源的平台,⾥边的外观功能都可以⾃⼰去修改和定义的。
好了,⼤致就是这些了,如果有说的不对的地⽅还希望⼤家指点出来。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论