分布式定时任务组件:XXL-JOB

news2025/1/7 7:19:28

一、GitHub源码地址

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

二、部署文档

参考:https://blog.csdn.net/qq798867485/article/details/131415408
在这里插入图片描述

三、初始化数据库SQL

1、xxl_job_user         XxlJob-用户管理
2、xxl_job_group       XxlJob-执行器管理
3、xxl_job_info           XxlJob-任务管理
4、xxl_job_log            XxlJob-调度日志
5、xxl_job_log_report XxlJob-运行报表
6、xxl_job_logglue      XxlJob-GLUE日志
7、xxl_job_registry      XxlJob-注册信息
9、xxl_job_lock            XxlJob-锁配置

CREATE TABLE xxl_job_group (
  id           int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  app_name     varchar(64) NOT NULL              COMMENT '执行器AppName',
  title        varchar(12) NOT NULL              COMMENT '执行器名称',
  address_type tinyint(4)  NOT NULL DEFAULT '0'  COMMENT '执行器地址类型:0=自动注册、1=手动录入',
  address_list text                              COMMENT '执行器地址列表,多地址逗号分隔',
  update_time  datetime             DEFAULT NULL COMMENT '更新时间',

  PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-执行器管理';

CREATE TABLE xxl_job_user (
  id         int(11)      NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  username   varchar(50)  NOT NULL              COMMENT '账号',
  password   varchar(50)  NOT NULL              COMMENT '密码',
  role       tinyint(4)   NOT NULL              COMMENT '角色:0-普通用户、1-管理员',
  permission varchar(255)          DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',

  PRIMARY KEY (id),
  UNIQUE KEY i_username (username) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-用户管理';

CREATE TABLE xxl_job_info (
  id                        int(11)      NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  
  job_group                 int(11)      NOT NULL                      COMMENT '执行器主键ID',

  job_desc                  varchar(255) NOT NULL                      COMMENT '执行器描述信息',
  add_time                  datetime              DEFAULT NULL         COMMENT '创建时间',
  update_time               datetime              DEFAULT NULL         COMMENT '更新时间',
  author                    varchar(64)           DEFAULT NULL         COMMENT '作者',
  alarm_email               varchar(255)          DEFAULT NULL         COMMENT '报警邮件',
  schedule_type             varchar(50)  NOT NULL DEFAULT 'NONE'       COMMENT '调度类型',
  schedule_conf             varchar(128)          DEFAULT NULL         COMMENT '调度配置,值含义取决于调度类型',
  misfire_strategy          varchar(50)  NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
  executor_route_strategy   varchar(50)           DEFAULT NULL         COMMENT '执行器路由策略',
  executor_handler          varchar(255)          DEFAULT NULL         COMMENT '执行器任务handler',
  executor_param            varchar(512)          DEFAULT NULL         COMMENT '执行器任务参数',
  executor_block_strategy   varchar(50)           DEFAULT NULL         COMMENT '阻塞处理策略',
  executor_timeout          int(11)      NOT NULL DEFAULT '0'          COMMENT '任务执行超时时间,单位秒',
  executor_fail_retry_count int(11)      NOT NULL DEFAULT '0'          COMMENT '失败重试次数',
  glue_type                 varchar(50)  NOT NULL                      COMMENT 'GLUE类型',
  glue_source               mediumtext                                 COMMENT 'GLUE源代码',
  glue_remark               varchar(128)          DEFAULT NULL         COMMENT 'GLUE备注',
  glue_updatetime           datetime              DEFAULT NULL         COMMENT 'GLUE更新时间',
  child_jobid               varchar(255)          DEFAULT NULL         COMMENT '子任务ID,多个逗号分隔',
  trigger_status            tinyint(4)   NOT NULL DEFAULT '0'          COMMENT '调度状态:0-停止,1-运行',
  trigger_last_time         bigint(13)   NOT NULL DEFAULT '0'          COMMENT '上次调度时间',
  trigger_next_time         bigint(13)   NOT NULL DEFAULT '0'          COMMENT '下次调度时间',
  
  PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-任务管理';

CREATE TABLE xxl_job_log (
  id                        bigint(20)  NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  job_group                 int(11)     NOT NULL               COMMENT '执行器主键ID',
  job_id                    int(11)     NOT NULL               COMMENT '任务,主键ID',

  executor_address          varchar(255)          DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
  executor_handler          varchar(255)          DEFAULT NULL COMMENT '执行器任务handler',
  executor_param            varchar(512)          DEFAULT NULL COMMENT '执行器任务参数',
  executor_sharding_param   varchar(20)           DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
  executor_fail_retry_count int(11)      NOT NULL DEFAULT '0'  COMMENT '失败重试次数',
  trigger_time              datetime              DEFAULT NULL COMMENT '调度-时间',
  trigger_code              int(11)      NOT NULL              COMMENT '调度-结果',
  trigger_msg               text                               COMMENT '调度-日志',
  handle_time               datetime              DEFAULT NULL COMMENT '执行-时间',
  handle_code               int(11)      NOT NULL              COMMENT '执行-状态',
  handle_msg                text                               COMMENT '执行-日志',
  alarm_status              tinyint(4)   NOT NULL DEFAULT '0'  COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',

  PRIMARY KEY (id),
  KEY I_trigger_time (trigger_time),
  KEY I_handle_code (handle_code)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-调度日志';

CREATE TABLE xxl_job_log_report (
  id            int(11)  NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  trigger_day   datetime          DEFAULT NULL COMMENT '调度-时间',
  running_count int(11)  NOT NULL DEFAULT '0'  COMMENT '运行中-日志数量',
  suc_count     int(11)  NOT NULL DEFAULT '0'  COMMENT '执行成功-日志数量',
  fail_count    int(11)  NOT NULL DEFAULT '0'  COMMENT '执行失败-日志数量',
  update_time   datetime          DEFAULT NULL COMMENT '更新时间',

  PRIMARY KEY (id),
  UNIQUE KEY i_trigger_day (trigger_day) USING BTREE
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-运行报表';

CREATE TABLE xxl_job_logglue (
  id          int(11)     NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  job_id      int(11)     NOT NULL               COMMENT '任务,主键ID',

  glue_type   varchar(50)           DEFAULT NULL COMMENT 'GLUE类型',
  glue_source mediumtext                         COMMENT 'GLUE源代码',
  glue_remark varchar(128) NOT NULL              COMMENT 'GLUE备注',
  add_time    datetime              DEFAULT NULL COMMENT '创建时间',
  update_time datetime              DEFAULT NULL COMMENT '更新时间',

  PRIMARY KEY (id)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-GLUE日志';

CREATE TABLE xxl_job_registry (
  id             int(11)      NOT NULL AUTO_INCREMENT COMMENT '主键ID',

  registry_group varchar(50)  NOT NULL              COMMENT 'registry_group',
  registry_key   varchar(255) NOT NULL              COMMENT 'registry_key',
  registry_value varchar(255) NOT NULL              COMMENT 'registry_value',
  update_time    datetime              DEFAULT NULL COMMENT '更新时间',

  PRIMARY KEY (id),
  KEY i_g_k_v (registry_group, registry_key, registry_value)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-注册信息';

CREATE TABLE xxl_job_lock (
  lock_name varchar(50) NOT NULL COMMENT '锁名称',

  PRIMARY KEY (lock_name)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT = 'XxlJob-锁配置';

INSERT INTO xxl_job_group(id, app_name, title, address_type, address_list, update_time) VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2018-11-03 22:21:31' );
INSERT INTO xxl_job_info(id, job_group, job_desc, add_time, update_time, author, alarm_email, schedule_type, schedule_conf, misfire_strategy, executor_route_strategy, executor_handler, executor_param, executor_block_strategy, executor_timeout, executor_fail_retry_count, glue_type, glue_source, glue_remark, glue_updatetime, child_jobid) VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2018-11-03 22:21:31', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '');
INSERT INTO xxl_job_user(id, username, password, role, permission) VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
INSERT INTO xxl_job_lock ( lock_name) VALUES ( 'schedule_lock');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/770858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3+vite+pinia+vue-router+ol项目创建及配置

一、vite (一)、定义 vite官网 (二)、操作步骤 注意:两种方式创建目录结构一致 方式一:vite创建脚手架命令: 命令行:npm create vitelatest 然后选择 方式二:命令行直接声明带上vue 二、pinia (一)、定义 定义&#xf…

TortoiseGit 入门指南12:创建标签

前面的文章不止一次的提到过 标签 (Tag),我们在《TortoiseGit 入门指南08:浏览引用以及在引用间切换》一文中知道,标签 是一种 引用;还知道每个提交都对应着一个 SHA-1 值,而引用就是 SHA-1 的一…

常见面试题之HashMap

1. 二叉树 1.1 二叉树概述 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只有左子节点,有的节…

jmeter压测过程中,ServerAgent响应异常:Cannot send data to network connection

ServerAgent异常信息: Cannot send data to network connection(无法将数据发送到网络连接) 原因: linux 防火墙 拦截了当前端口 解决方案: Linux 执行以下命令 /sbin/iptables -I INPUT -p tcp --dport 4445 -j ACC…

高压功率放大器应用场合是什么

高压功率放大器是一种能够将低电压信号转换为高电压输出信号的设备。它通常由前置放大器和功率放大级组成,广泛应用于雷达、医疗、半导体测试和工业自动化等领域。下面安泰电子将介绍高压功率放大器的几个主要应用场合。 一、雷达系统 雷达系统需要产生高频、高功率…

【IDEA大项目依赖分析卡死-解决方案】Processing build files for dependencies analysis...

最近一直在研究一个大型项目,在IDEA里面启动调试的时候,IDEA经常会进行Processing build files for dependencies analysis…(处理构建文件进行依赖分析),并且在这个步骤耗时太久甚至直接卡死。经过一些排查找到了解决…

arping命令 ip地址冲突检测 根据ip查mac地址

arping命令介绍 arping 命令主要用来获取ip对应的mac地址,更新本地arp缓存表。平时主要用来探测ip地址是否冲突即同一个网络里,同一个ip不同mac地址的情况。ip地址冲突将导致网络故障。 arping常用命令参数 arping [参数] ip -U 强制更新邻近主机的a…

Android系统开发-入门篇

参见:[视频教程] 写给应用开发的 Android Framework 教程——玩转 AOSP 篇之 Android 系统开发工具推荐 - 掘金 前置条件: android系统源码位于 linux 服务器,ssh 地址假如为:test172.1.10.2本机为windows 1、本机: 下…

leetcode 101.对称二叉树

⭐️ 题目描述 🌟 leetcode链接:对称二叉树 思路: 这道题和 leetcode 100.相同的树 类似,是上一道的变形题。✨leetcode 100.相同的树 代码链接:【往期文章】leetcode 100.相同的树。这道题把根的左子树和右子树看作两…

ROS:动态参数

目录 一、前言二、概念三、作用四、实际用例4.1需求4.2客户端4.2.1流程4.2.2新建功能包4.2.3添加.cfg文件4.2.4配置 CMakeLists.txt4.2.5编译 4.3服务端(C)4.3.1流程4.3.2vscode配置4.3.3服务器代码实现4.3.4编译配置文件4.3.5执行 4.4服务端(Python)4.4.1流程4.4.2vscode配置4…

Spring核心问题解答

1.谈谈对Spring的理解 Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在 2002 年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,实现敏捷开发的应用型框架 。 Spring是一个开源容器框架&#x…

Python+Qt窗体或Django网页支付宝收款码-扫码付款实例

程序示例精选 PythonQt窗体或Django网页支付宝收款码-扫码付款实例 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt窗体或Django网页支付宝收款码-扫码付款实例>>编写代…

智安网络|保护数据资产:不同行业下的数据安全建设策略

在当今数字化时代&#xff0c;数据安全已经成为各行各业无法忽视的重要议题。保持良好网络卫生习惯并及时了解不断变化的网络威胁是企业中每个人的责任。企业、政府机构、医疗机构、金融机构以及其他组织和行业都面临着日益复杂和频繁的网络安全威胁。为了有效应对这些威胁&…

22.代理模式

代理模式 二十三种设计模式中的一种&#xff0c;属于结构型模式。它的作用就是通过提供一个代理类&#xff0c;在调用目标方法的时候&#xff0c;不再是直接对目标方法进行调用&#xff0c;而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来——解耦…

自定义表单设计:办公协同效率提高新工具!

为了提高工作效率和表格制作效率&#xff0c;低代码开发平台成为广大用户喜爱的主流平台。因为它包含了非常多的功能内容&#xff0c;在快节奏发展的社会环境中可以满足日益增长的业务需求&#xff0c;是助力通信业、医疗、高校、物流等众多行业办公效率提质增效的得力助手。其…

解决MySQL中分页查询时多页有重复数据,实际只有一条数据的问题

0 前言 有一个离奇的BUG&#xff0c;在查询时&#xff0c;第一页跟第二页有一个共同的数据。有的数据却不显示。 后来发现是在SQL排序时没用主键排序。 解决&#xff1a;使用主键排序 以下是我准备的举例&#xff0c;可以自己试试。 1 数据准备 SET NAMES utf8mb4; SET FORE…

JVM系列(7)——java内存模型

一、什么是JMM 一种抽象的规范。每个JVM 的实现都要遵守这样的规范&#xff0c;这样才能保证Java程序能够“一次编写&#xff0c;到处运行”。 内存模型描述了程序中各个变量&#xff08;实例域、静态域和数组元素&#xff09;之间的关系&#xff0c;以及在实际计算机系统中将…

华为产品测评官-开发者之声 - ModelArts 真实体验感想

华为产品测评官&#xff0d;开发者之声 - ModelArts 真实体验感想 我先是在6月17日参加了华为在深圳举办的开发者大会&#xff0c;后面看到群里发的"2023华为产品测评官&#xff0d;开发者之声"活动&#xff0c;简单看了一下体验活动的具体事情&#xff0c;感觉好玩…

mysql 第六章

目录 1.子查询 2.exists 3.as 别名 4.视图 5.null 6.连接查询 7.总结 1.子查询 2.exists 3.as 别名 4.视图 5.null 6.连接查询 7.总结 对 mysql 数据库的查询&#xff0c;除了基本的查询外&#xff0c;有时候需要对查询的结果集进行处理。

【Policy】使用 InitializingBean 实现策略时如何避免AOP失效

使用InitializingBean实现策略模式 参考策略模式示例中的第一种实现方式.代码demo项目 不同的注入方式对AOP注解的影响 部分策略代码及测试代码 public interface TraditionOrderService extends InitializingBean {// ... } Service public class TraditionOrderServiceIm…