【笔记】分布式任务调度平台XXL-JOB

embedded/2025/1/1 7:49:25/

这篇笔记主要记录以下内容:

(1)第一次启动xxl-job的过程

(2)模块、文件、数据库(表和字段)的作用

(3)极少的源码解读(XxlJobConfig)

有点像实验报告(笑)文章前后都有列出参考文章,感谢各位大佬


参考:

 xxl-job详解_xxljob-CSDN博客

 工作笔记(五十六)— xxl-job - 知乎


GitHub:https://github.com/xuxueli/xxl-job

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

1、下载源码

git clone https://gitee.com/xuxueli0323/xxl-job.git

三个模块

(1)xxl-job-admin:调度中心

(2)xxl-job-core:核心依赖包,项目需要整合xxljob的时候只需要引入坐标

(3)xxl-job-executor-samples:示例项目

2、生成数据库

source D:\javaProjects\xxl-job\doc\db\tables_xxl_job.sql

(1)xxl_job_group:维护执行器信息

(2)xxl_job_info:维护调度信息

(3)xxl_job_lock:任务调度锁

(4)xxl_job_log:维护调度日志

(5)xxl_job_log_report:维护调度日志报表信息

(6)xxl_job_logglue:任务GLUE日志:用于保存GLUE更新历史,用于支持GLUE的版本回溯功能;

(7)xxl_job_registry:在线的执行器注册表,维护在线的执行器和调度中心机器地址信息

(8)xxl_job_user:保存系统用户信息

在后续启动过程中会逐一介绍各个表和字段的具体作用

3、修改src/main/resources/application.properties文件

(1)端口

(2)数据库ip、端口、用户名、密码

(3)告警邮箱

4、运行XxlJobAdminApplication

环境:Java17+maven2.9.6+MySQL8.0.36

打开url:http://localhost:8080/xxl-job-admin

账号:admin/123456

用户账号信息记录在sql表xxl_job_user中,这条数据是执行sql文件后自动就有的,角色(role)是管理员(1)

登录后页面如下

若要修改密码可在用户管理界面点击编辑按钮进行操作

5、xxl-job-executor-samples

以xxl-job-executor-sample-springboot为例

主要有pom.xml、application.properties(配置文件)、XxlJobExecutorApplication(启动类)、XxlJobConfig.java(xxljob配置类)、SampleXxlJob(bean模式下新建job)

(1)pom.xml需要引用xxl-job-core

(2)application.properties配置执行器

文件:src/main/resources/application.properties

(3)生成XxlJobSpringExecutor

XxlJobConfig类文件:src/main/java/com/xxl/job/executor/core/config/XxlJobConfig.java

XxlJobConfig将读取application.properties中的设置

并根据设置生成XxlJobSpringExecutor

其中,XxlJobExecutor类写在src/main/java/com/xxl/job/core/executor/XxlJobExecutor.java中

(4)新建job任务

(5)新增执行器

名称随便写。因为没有启动代码,所以新增后此时OnLine机器地址为0

此时,sql表xxl_job_group中也出现了一条新数据

(6)启动代码

>>>>>> sql表xxl_job_group <<<<<<

不修改properties文件,直接启动成功后xxl-job-executor-sample的OnLine机器地址不再为0,点击查看可查看ip,即已经注册成功

  • sql表xxl_job_group中address_list字段就保存着执行器地址列表,多地址以逗号分隔。查看数据库可发现address_list字段中的ip地址与浏览器的OnLine机器地址相同

        

  • sql表xxl_job_group中app_name字段与执行器编辑页面中的AppName相对应

        验证:修改properties文件中的xxl.job.executor.appname,重新启动代码

        

        刷新数据库,可以看到xxl-job-executor-sample的address_list字段为空,而xxl-job-executor-        sample2的address_list字段为原来xxl-job-executor-sample的address_list字段内容

        

        执行器管理页面当然也有相应改变

        

  • address_type用于表示执行器地址类型:0=自动注册、1=手动录入。刚刚新增执行器是机器地址一栏没有填写,即为自动注册
  • sql表xxl_job_group中title字段与执行器编辑页面中的名称相对应

>>>>>> sql表xxl_job_registry <<<<<<

启动后,如下图所示,表xxl_job_registry会新出现一条数据。如果stop停止运行程序,该条数据会消失。也就是说,表xxl_job_registry只会维护在线的执行器信息

(7)新增/更新任务

JobHandler填写内容与@XxlJob注解内容相同

保存后刷新数据库可看见表xxl_job_info有一条新数据,当中内容就是刚刚新增/更新任务所保存的信息

各字段含义如下图所示

  • job_desc:任务描述
  • executor_handler:与@XxlJob注解所填内容相同

执行一次后即为执行相应job(这里执行了一次demo和两次demo2)

刷新数据库,表xxl_job_log有一条新数据,记录了此次执行的一些信息

各字段含义如下图所示


 参考:(如涉及版权等问题请联系我

 xxl-job详解_xxljob-CSDN博客

 工作笔记(五十六)— xxl-job - 知乎


http://www.ppmy.cn/embedded/145561.html

相关文章

CentOS7环境安装php

直接安装 yum -y install php CentOS7默认安装是php5&#xff0c;现在php已有8.3版本 先查看php -v 版本 如果是低版本&#xff0c;可以删除 yum remove php yum remove php-fpm yum remove php-common 一、添加REMI存储库 yum install epel-release yum install -y …

游戏引擎学习第43天

仓库 https://gitee.com/mrxiao_com/2d_game 介绍运动方程 今天我们将更进一步&#xff0c;探索运动方程&#xff0c;了解真实世界中的物理&#xff0c;并调整它们&#xff0c;以创建一种让玩家感觉愉悦的控制体验。这并不是在做一个完美的物理模拟&#xff0c;而是找到最有趣…

0002.基于springboot +layui二手物品交易平台

适合初学同学练手项目&#xff0c;部署简单&#xff0c;代码简洁清晰&#xff1b; 注:当前项目架构使用前后端未分离哦&#xff01; 一、系统架构 前端&#xff1a;layui| html 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven 二、代…

计算机网络技术基础:1.计算机网络的产生与发展

从1946年世界上第一台计算机ENIAC的诞生&#xff0c;计算机网络的发展大体可分为以下4个阶段。 一、第一代计算机网络——面向终端的计算机网络 第一代计算机网络也称面向终端的计算机网络&#xff0c;它是以主机为中心的通信系统。这样的系统中&#xff0c;除一台中心计算机&…

深入解析Vue3响应式系统:从Proxy实现到依赖收集的核心原理

深入解析Vue3响应式系统&#xff1a;从Proxy实现到依赖收集的核心原理 响应式系统的基本原理 作为一个热门的JavaScript框架&#xff0c;Vue在3.x版本中引入了基于Proxy的响应式系统。这个系统的核心思想是利用Proxy对象拦截对数据的访问和修改&#xff0c;从而实现数据的自动更…

中电金信携手中远海科,共启贸易金融数智新篇章

在数智化转型成为驱动经济社会高质量发展的新引擎背景下&#xff0c;“数智方案”栏目聚焦金融等国计民生重点行业场景&#xff0c;依托中电金信“源启筑基咨询引领应用重构”的产品及服务体系&#xff0c;输出市场洞察和行业解决方案、应用案例&#xff0c;旨在全面推动行业IT…

opencv下载安装及VS配置(笔记)

1、opencv下载及安装 官网地址&#xff1a;https://opencv.org/&#xff0c;点击Releases进入下载界面&#xff1a; 根据自己的需要下载相应的版本&#xff0c;这里我下载的是opencv-4.10版本&#xff1a; 找到下载的exe文件&#xff1a; 双击安装&#xff0c;选择安装路径&…

蓝桥杯准备训练(lesson4 ,c++)

算术操作符 5.1 算术操作符5.2 浮点数的除法5.3 负数取模5.4 数值溢出5.5 练习练习1&#xff1a;计算(ab)*c练习2&#xff1a;带余除法练习3&#xff1a;整数个位练习4&#xff1a;整数⼗位练习5&#xff1a;时间转换练习6&#xff1a;⼩⻥的游泳时间 6.1 连续赋值6.2 复合赋值…