学习空间IT必备技能任务调度

xxl-job任务调度使用

2021-12-01  本文已影响0人  Geroge1226

1、说明

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

官方社区文档:https://www.xuxueli.com/xxl-job/

2、使用步骤

(官网社区文档已经写的很详尽,这里摘要)

下载xxljob源码,https://gitee.com/xuxueli0323/xxl-jobhttps://github.com/xuxueli/xxl-job/

xxl-job-admin:调度中心
xxl-job-core:公共依赖
xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器)
    :xxl-job-executor-sample-springboot:Springboot版本,通过Springboot管理执行器,推荐这种方式;
    :xxl-job-executor-sample-frameless:无框架版本;
(1)运行sql脚本: "/xxl-job/doc/db/tables_xxl_job.sql"
(2)启动调用中心

idea中运行xxl-job-admin,或者maven构建jar包运行
访问:http://localhost:8088/xxl-job-admin/
默认登录账号 “admin/123456”, 登录后运行界面如下图所示。

image.png
(3) sprinboot集成认为执行器

参考xxl-job-executor-samples 下的 xxl-job-executor-sample-springboot

参考
<properties>
    <xxljob.version>2.3.0</xxljob.version>
</properties>
<dependency>
     <groupId>com.xuxueli</groupId>
    <artifactId>xxl-job-core</artifactId>
    <version>${xxljob.version}</version>
</dependency>
xxl:
  job:
    accessToken: ''
    admin:
      addresses: http://127.0.0.1:8080/xxl-job-admin
    executor:
      address: ''
      appname: xxl-job-executor-sample
      ip: ''
      logpath: /data/applogs/xxl-job/jobhandler
      logretentiondays: 30
      port: 9999

*遵循原则

 参考:XxlJob开发示例(Bean模式)
 * 开发步骤:
 * 1、在Spring Bean实例中,开发Job方法,方式格式要求为 "public ReturnT<String> execute(String param)"
 * 2、为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。
 * 3、执行

*代码示例

/**
 *
 * @version V1.0
 * @Title: XxlJobTask
 * @Description: xxljob
 * @author: Geroge1226
 * @date: 12/1/21 3:20 PM
 */
@Component
@Slf4j
public class XxlJobTask {
    @XxlJob("printJobHandler")
    public ReturnT<String> jobExcutor(){
        log.info("=====> hello world");
        return ReturnT.SUCCESS;
    }

}
(4)调度中心配置任务

3、xxljob工作原理

3.1、架构图

架构图

总结

(1)应用xxljob时候,需要使用数据库、调度中心服务、执行器(定时任务执行内容)。
(2)需要在调度中心对定时任务进行配置

上一篇 下一篇

猜你喜欢

热点阅读