xxl-job任务调度使用

1、说明

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

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

2、使用步骤

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

下载xxljob源码,https://gitee.com/xuxueli0323/xxl-job 或 https://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

    2.3.0


     com.xuxueli
    xxl-job-core
    ${xxljob.version}

  • 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 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 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任务调度使用)