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

一、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');

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI炒股:用Claude来分析A股2023年中报业绩预告

Claude是和ChatGPT类似的AI大模型,据测试 AI 的水平能力接近 GPT-4,支持高达 100K token 的上下文。Claude只需要到官方网站注册账号后就可以直接免费使用。不过,目前智能美国和英国的 IP 可以注册和使用。 Claude支持上传文档功能&#xff…

基于单片机的蓝牙音乐喷泉的设计与实现

功能介绍 以51单片机作为主控系统;通过HM-18蓝牙音频模块进行无线传输; 通过LM386功放模块对音频信号进行放大;手机端可以直接控制音频播放,并且最远距离可达20米;手机端可以进行任意音乐切换,播报、暂停&a…

Sql构建

Sql构建 SQL 构建对象介绍 之前通过注解开发时,相关 SQL 语句都是直接拼写的,一些关键字写起来比较麻烦、而且容易出错 MyBatis 提供了 org.apache.ibatis.jdbc.SQL 功能类,专门用于构建 SQL 语句 sql拼接测试: public class …

ROS:nodelet

目录 一、前言二、概念三、作用四、使用演示4.1案例简介4.2nodelet 基本使用语法4.3内置案例调用 五、nodelet实现5.1需求5.2流程5.3准备5.4创建插件类并注册插件5.5构建插件库5.6使插件可用于ROS工具链5.6.1配置xml5.6.2导出插件 5.7执行 一、前言 ROS通信是基于Node(节点)的…

SpringCloud学习路线(4)—— Nacos注册中心

一、认识和安装Nacos (一)概念: Nacos是Alibaba的产品,现在是SpringCloud中的一个组件,相较于Eureka功能更加丰富。 (二)下载地址: https://github.com/alibaba/nacos/releases &am…

UTM 4.3 发布:在 macOS 上优雅的使用 QEMU 虚拟化 Windows、Linux 和 macOS

UTM 4.3 发布:在 macOS 上优雅的使用 QEMU 虚拟化 Windows、Linux 和 macOS 在 iOS 中虚拟化 Windows、Linux 和 Unix 请访问原文链接:https://sysin.org/blog/utm-4/,查看最新版。原创作品,转载请保留出处。 作者主页&#xf…

活动页服务端渲染探索

目标 通过采用在服务端渲染激励页的方式,降低页面加载白屏时间,从而提升激励 H5 渲染体验。 架构设计 前端服务框架调研选型 只对比分析以下两种方案: Vue3 Nuxt3 WebpackNext.js React Node.js ’Nuxt3Next.js介绍Nuxt是一个基于Vu…

navicate_windows_14

1.新建文本文档2.输入如下内容 echo off set dnInfo set dn2ShellFolder set rpHKEY_CURRENT_USER\Software\Classes\CLSID :: reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration14XCS /f %针对<strong><font color"#FF0000"…

文心一言 VS 讯飞星火 VS chatgpt (62)-- 算法导论6.5 1题

文心一言 VS 讯飞星火 VS chatgpt &#xff08;62&#xff09;-- 算法导论6.5 1题 一、试说明 HEAP-EXTRACT-MAX在堆A(15&#xff0c;13&#xff0c;9&#xff0c;5&#xff0c;12&#xff0c;8&#xff0c;7&#xff0c;4&#xff0c;0&#xff0c;6&#xff0c;2&#xff0c…

06-C++ 基本算法 - 二分法

&#x1f4d6; 前言 在这个笔记中&#xff0c;我们将介绍二分法这种基本的算法思想&#xff0c;以及它在 C 中的应用。我们将从一个小游戏猜数字开始&#xff0c;通过这个案例来引出二分法的概念。然后我们将详细讲解什么是二分法以及它的套路和应用。最后&#xff0c;我们还会…

为什么弹性内容交付网络是决定网站性能的关键

如今的用户对于所访问网站都对网站有自己的标准&#xff0c;他们期望访问的网站性能良好&#xff0c;具有快速的页面加载时间和易于访问、新鲜且动态的内容&#xff0c;同时他们还希望享受无缝且安全的体验&#xff0c;无需停机或内容访问受到限制。比如微博等平台每次在网络热…

centos7安装 mongodb

一、rpm安装 1.1、配置MongoDB Enterprise的yum 源文件 [mongodb-enterprise] nameMongoDB Enterprise Repository baseurlhttps://repo.mongodb.com/yum/redhat/$releasever/mongodb-enterprise/3.4/$basearch/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp…

【Python爬虫+可视化案例】采集电商网站商品数据信息,并可视化分析

爬虫可视化案例 &#xff1a;苏宁易购 案例所需要掌握的知识点&#xff1a; selenium的使用html标签数据解析方法 需要准备的环境&#xff1a; python 3.8pycharm 2022专业版selenium python里面的第三方库 可以用来操作浏览器 爬虫代码展示 所需模块 【代码领取 请看文末…

开发工具篇第二十六讲:使用IDEA进行本地调试和远程调试

开发工具篇第二十六讲&#xff1a;使用IDEA进行本地调试和远程调试 Debug用来追踪代码的运行流程&#xff0c;通常在程序运行过程中出现异常&#xff0c;启用Debug模式可以分析定位异常发生的位置&#xff0c;以及在运行过程中参数的变化&#xff1b;并且在实际的排错过程中&am…

C++-string类的模拟实现

本博客基于C官方文档当中给出的string类当中的主要功能实现&#xff0c;来作为参照&#xff0c;简单模拟实现 My-string 。 对于C当中的string类的介绍&#xff0c;在之前的几篇博客当中有说明&#xff0c;如有问题&#xff0c;请参照一下两个博客文章进行参考&#xff1a; (2…

使用 Pytest 运行 yaml 文件来驱动 Appium 自动化测试

目录 前言&#xff1a; 获取 yaml 文件 YamlTest 测试类 Appium 初始化 Pytest 测试类 自定义 runtest demo&#xff1a; 自定义错误输出 Yaml 使用方式规则 前言&#xff1a; 使用Pytest来运行yaml文件来驱动Appium自动化测试是一种方便且灵活的方法。通过将测试数据…

CSS 渐变边框及动画

转载请注明出处&#xff0c;点击此处 查看更多精彩内容 用 CSS 实现渐变边框及动画&#xff0c;下面对关键点进行解释说明&#xff0c;查看完整代码及预览效果请 点击这里。 简单说明原理&#xff1a;使用伪元素 ::before 绘制一个渐变色&#xff0c;然后使用伪元素 ::after 绘…

【数据结构】二叉树详解(2)

⭐️ 前言 ✨ 往期文章链接&#xff1a;二叉树的概念性质 上一篇我们讲了二叉树的结构定义&#xff0c;以及前序/中序/后序的递归遍历&#xff0c;还有一些二叉树的接口实现&#xff0c;本篇我们补充一个二叉树的接口 BinaryTreeDepth。✨上一篇文章链接&#xff1a;二叉树详…

【原创】实现ChatGPT中Transformer模型之Encoder-Decoder

作者&#xff1a;黑夜路人 时间&#xff1a;2023年7月 Transformer Block &#xff08;通用块&#xff09;实现 看以上整个链路图&#xff0c;其实我们可以很清晰看到这心其实在Encoder环节里面主要是有几个大环节&#xff0c;每一层主要的核心作用如下&#xff1a; Multi-he…

出租屋智能电表系统

随着科技的不断发展&#xff0c;智能化逐渐成为人们生活中不可或缺的一部分。在房屋租赁市场中&#xff0c;智能电表系统成为越来越多出租屋的标配&#xff0c;为房东和租户带来了便捷和安全。本文将从以下几个方面介绍出租屋智能电表系统的特点和优势。 一、出租屋智能电表系统…