xxl-job 分布式任务调度平台使用,图文版

一,前言

今天公司要升级job平台,需要把以前的调度任务全部平移到新的job平台中,

所以学习了解一下job平台的使用,方便以后回顾。

二,操作

1,拉取代码,启动任务调度平台

gitee地址:https://gitee.com/aimmuselisa/xxl-job.git

注意修改自己的数据库信息,同时执行sql,sql位置 xxl-job\doc\db\tables_xxl_job.sql

直接启动入口类 :XxlJobExecutorApplication

在这里插入图片描述

访问连接:http://localhost:8090/xxl-job-admin/jobgroup

初始账户密码:admin/123456

在这里插入图片描述

tips:job项目和我的项目是连接的同一个数据库哦哦哦哦😊

2,引入依赖,添加配置(针对自己需要引入job的项目)

pom引入依赖

        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.4.0</version>
        </dependency>

application.properties 添加配置

### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
### 需要和job-admin服务地址保持一致
xxl.job.admin.addresses=http://127.0.0.1:8090/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

添加配置类

@Configuration
public class XxlJobConfig {
   
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

    @Value("${xxl.job.admin.addresses}")
    private String adminAddresses;

    @Value("${xxl.job.accessToken}")
    private String accessToken;

    @Value("${xxl.job.executor.appname}")
    private String appname;

    @Value("${xxl.job.executor.address}")
    private String address;

    @Value("${xxl.job.executor.ip}")
    private String ip;

    @Value("${xxl.job.executor.port}")
    private int port;

    @Value("${xxl.job.executor.logpath}")
    private String logPath;

    @Value("${xxl.job.executor.logretentiondays}")
    private int logRetentionDays;


    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
   
        logger.info(">>>>>>>>>>> xxl-job config init.");
        XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
        xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
        xxlJobSpringExecutor.setAppname(appname);
        xxlJobSpringExecutor.setAddress(address);
        xxlJobSpringExecutor.setIp(ip);
        xxlJobSpringExecutor.setPort(port);
        xxlJobSpringExecutor.setAccessToken(accessToken);
        xxlJobSpringExecutor.setLogPath(logPath);
        xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);

        return xxlJobSpringExecutor;
    }
 }

写个demo监听器

@Component
public class demoJobHandler {
   

    private static Logger logger = LoggerFactory.getLogger(demoJobHandler.class);
    /**
     * 1、简单任务示例(Bean模式)
     */
    @XxlJob("demoJobHandler")
    public void demoJobHandler() throws Exception {
   
        XxlJobHelper.log("XXL-JOB, Hello World.");

        for (int i = 0; i < 5; i++) {
   
            XxlJobHelper.log("beat at:" + i);
            TimeUnit.SECONDS.sleep(2);
        }
    }
}

再次刷新平台

-----------------------------------------------------有以下情况就算引入成功

a,执行器有机器注册地址

在这里插入图片描述

b,有测试任务

在这里插入图片描述
c,任务执行成功日志

在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-11 14:48:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-11 14:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-11 14:48:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-11 14:48:02       20 阅读

热门阅读

  1. C语言初学函数(练习)

    2024-01-11 14:48:02       34 阅读
  2. golang实现skiplist 跳表

    2024-01-11 14:48:02       28 阅读
  3. 【Machine Learning】Optimization

    2024-01-11 14:48:02       30 阅读
  4. 概率生成函数([CTSC2006] 歌唱王国 题解)

    2024-01-11 14:48:02       33 阅读
  5. GO项目自动化-根据库表字段自动生成API

    2024-01-11 14:48:02       30 阅读
  6. 源码编译FFmpeg4.3

    2024-01-11 14:48:02       40 阅读
  7. 【我的Rust库】get_local_info 0.1.7发布

    2024-01-11 14:48:02       27 阅读
  8. Opentsdb官方优化文档 - 翻译

    2024-01-11 14:48:02       29 阅读
  9. Android 车联网——CarOccupantZoneService介绍(十四)

    2024-01-11 14:48:02       35 阅读
  10. resulttype和parametertype的区别

    2024-01-11 14:48:02       37 阅读
  11. Vuex与Vuex-Class的底层原理简单实现

    2024-01-11 14:48:02       32 阅读