xxl-job任务调度使用

作者: Geroge1226 | 来源:发表于2021-12-01 17:16 被阅读0次

    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

    参考
    • a、pom 引用 xxl-job-core
    <properties>
        <xxljob.version>2.3.0</xxljob.version>
    </properties>
    <dependency>
         <groupId>com.xuxueli</groupId>
        <artifactId>xxl-job-core</artifactId>
        <version>${xxljob.version}</version>
    </dependency>
    
    • b、yml文件配置
    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
    
    • c、执行器任务开发

    *遵循原则

     参考: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;
        }
    
    }
    
    • d、运行执行器项目
      执行成功
    (4)调度中心配置任务
    • a、执行管理下配置执行器

      image.png
    • b、任务管理下新增调度任务

      调度任务
    • c、运行结果

      控制台
    • d、查看调度日志

      调度日志

    3、xxljob工作原理

    3.1、架构图

    架构图

    总结

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

    相关文章

      网友评论

        本文标题:xxl-job任务调度使用

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