• Spring Cloud搭建XXL-JOB任务调度平台


    什么是XXL-JOB任务调度?

    XXL-JOB是一个开源的分布式任务调度平台,用于管理和调度各种定时任务和分布式任务。它提供了一个轻量级、易扩展的任务调度解决方案,可以满足各种任务调度需求。

    xxljob

    核心概念:

    1. 任务(Job):任务是指需要被调度执行的具体操作或业务逻辑。在XXL-JOB中,任务可以是简单的定时任务,也可以是复杂的分布式任务,可以通过调度中心配置和管理。

    2. 调度中心(Admin):调度中心是XXL-JOB的核心组件,负责任务的管理和调度。管理员可以在调度中心中配置、编辑、删除任务,并查看任务的执行情况和日志信息。

    3. 执行器(Executor):执行器是负责执行任务的执行节点,可以是独立部署的单机,也可以是分布式的集群。执行器接收调度中心下发的任务,并执行任务对应的逻辑。

    4. 任务执行(Job Execute):任务执行是指执行器执行任务的过程。在任务触发时,执行器会根据任务配置的执行策略执行具体的业务逻辑,并将执行结果返回给调度中心。

    5. 任务调度策略(Job Strategy):任务调度策略定义了任务的触发规则和执行方式。XXL-JOB支持多种调度策略,包括简单触发、固定间隔、CRON表达式等,可以根据任务的需求灵活配置。

    6. 任务日志(Job Log):任务日志记录了任务的执行情况,包括执行状态、执行时间、执行结果等信息。管理员可以通过任务日志查看任务的执行情况,及时发现和解决问题。

    在这里插入图片描述

    如何搭建XXL-JOB?

    1. 克隆XXL-JOB

    git clone https://github.com/xuxueli/xxl-job.git
    
    • 1

    github

    2. 在数据库中创建对应的表

    在这里插入图片描述
    在项目中找到对应的Sql在自己的数据库中创建

    3.构建并运行调度中心

    mvn clean package -Dmaven.test.skip=true
    java -jar xxl-job-admin/target/xxl-job-admin-2.1.0.jar
    
    • 1
    • 2

    4.在项目文件pom.xml中配置

    <dependency>
        <groupId>com.xuxueligroupId>
        <artifactId>xxl-job-coreartifactId>
        <version>2.1.0version>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.在项目文件properties中配置

    xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
    xxl.job.executor.appname=xxl-job-executor-sample
    xxl.job.executor.ip=
    xxl.job.executor.port=9999
    xxl.job.accessToken=
    xxl.job.executor.logpath=./logs/jobhandler
    xxl.job.executor.logretentiondays=-1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    6.在项目中创建JobHandler

    @JobHandler(value = "testHandler")
    @Component
    public class testHandler extends IJobHandler {
    
        public void execute() {
            XxlJobLogger.log("Hello World!");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    7.XXL-JOB平台管理员页面

    在这里插入图片描述

    8.新建任务

    在这里插入图片描述

  • 相关阅读:
    Linux的rmdir和rm的区别
    爬虫及词云总结
    vue项目中实际封装DateRangePicker组件使用
    如何快速清理c盘缓存垃圾(最简单的c盘清理方法)
    Scala 异常处理
    ubuntu循环登录,无法进入桌面
    图像显示在对话框上的一些问题
    用go设计开发一个自己的轻量级登录库/框架吧(业务篇)
    财务会计与管理会计(二)
    69 RGB图像转单色位图
  • 原文地址:https://blog.csdn.net/marakaih/article/details/138207369