任务调度xxljob的使用记录

devtools/2024/9/25 8:20:17/

1.基本使用

a.下载代码,地址:https://gitee.com/xuxueli0323/xxl-job.git
在这里插入图片描述
b.执行sql,修改配置,启动任务调度中心的代码
在这里插入图片描述
在这里插入图片描述
启动代码后任务调度中心访问地址:http://localhost:8080/xxl-job-admin(自己机器的ip)
默认账号密码:admin/123456
在这里插入图片描述
c.编写执行器注册到任务调度中心(参考上述示例)
相关配置

# 指定要连接的任务调度中心地址
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin# 连接任务调度中心的token
xxl.job.accessToken=default_token# 指定当前应用的名称
xxl.job.executor.appname=zwb-test#  这个是ip和port的组合
#xxl.job.executor.address=### 指定到任务中心的ip
xxl.job.executor.ip=127.0.0.1# 指定通信的端口
xxl.job.executor.port=9999# 指定任务执行的日志
xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler# 日志保存时间
xxl.job.executor.logretentiondays=30

编写一个配置类

java">package com.example.demo.xxljob.config;import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;// 将上述在配置文件中配置信息读取,注册一个XxlJobSpringExecutor对象
@Configuration
public class JobConfig {@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;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {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;}/*** 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;**      1、引入依赖:*          <dependency>*             <groupId>org.springframework.cloud</groupId>*             <artifactId>spring-cloud-commons</artifactId>*             <version>${version}</version>*         </dependency>**      2、配置文件,或者容器启动变量*          spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'**      3、获取IP*          String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();*/}

注册一个定时任务

java">@Component
public class JobExample {@XxlJob("execute1")public void execute1() {System.out.println("用来测试xxl-job是否连通");}}

d.启动该代码后去任务调度中心配置相关数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
e.启动相关定时任务
在这里插入图片描述
在这里插入图片描述

2.基于集群的使用

a.搭建集群:基于上述的使用,赋值一份执行器代码,只需要更改xxl-job的通信端口即可完成集群的部署
在这里插入图片描述
在这里插入图片描述

b.集群配置
在这里插入图片描述
在这里插入图片描述

3.路由策略是分片广播的使用

当我们的定时任务的任务量较大时,我们可以将任务进行切分,采用多台机器同时执行来帮助我们加快定时任务的执行。xxl-job分片广播模式下会让所有的定时任务同时执行,但是会提供一个叫分片总数的参数来告诉每一个执行者目前该定时任务有多少实例,然后我们人为的可以将任务进行划分来执行。

java"> @XxlJob("execute1")public void execute1() {// 分片总数 :总数为该任务的实例数XxlJobHelper.getShardTotal();System.out.println("用来测试xxl-job是否连通");}

http://www.ppmy.cn/devtools/23661.html

相关文章

超赞!只需几步,打造高颜值的CSS表单!(附代码)

你好&#xff0c;我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生&#xff0c;一枚程序媛&#xff0c;感谢关注。回复 “前端基础题”&#xff0c;可免费获得前端基础 100 题汇总&#xff0c;回复 “前端工具”&#xff0c;可获取 Web 开发工具…

Linux中core dump开启使用教程

Linux中core dump开启使用教程 一、 什么是coredump? 程序由于各种异常或者bug导致在运行过程中异常退出或者中止&#xff0c;会产生一个叫做core的文件。 core文件会包含了程序运行时的内存&#xff0c;寄存器状态&#xff0c;堆栈指针&#xff0c;内存管理信息还有各种函数…

2023最新!Git2.40.0于win10环境下的安装

2023最新&#xff01;Git2.40.0于win10环境下的安装 git官网地址&#xff1a;https://git-scm.com/download/win/ 导航 文章目录 2023最新&#xff01;Git2.40.0于win10环境下的安装导航一、下载Git二、安装Git三、检验 一、下载Git Git官网选择自己所需的版本下载 二、安装…

开发使用Git的实践操作

程序员在使用Git进行代码管理时&#xff0c;涉及到许多常用的Git命令和功能&#xff0c;以下是详细的解释和分析&#xff1a; 程序员常用的Git命令 git init - 初始化一个新的Git仓库。这是开始使用Git跟踪项目的第一步。git clone - 复制一个远程仓库到本地&#xff0c;这样…

mysql8.0备份,在mysql5.7还原的步骤。备份的sql文件需要做哪些修改?

MySQL 8.0备份在MySQL 5.7还原的步骤涉及几个关键操作。请注意&#xff0c;由于MySQL 8.0和MySQL 5.7在特性和语法上可能存在差异&#xff0c;所以还原过程可能需要特别小心以确保数据的完整性和准确性。以下是一般性的步骤&#xff0c;但具体的实现可能会根据你的系统和环境有…

clickhouse与oracle传输数据

参考 https://github.com/ClickHouse/clickhouse-jdbc-bridge https://github.com/ClickHouse/clickhouse-jdbc-bridge/blob/master/docker/README.md clickhouse官方提供了一种方式&#xff0c;可以实现clickhouse与oracle之间传输数据&#xff0c;不仅仅是oracle&#xff0…

不同语言在算法使用方面的差异(Java 、C++篇)

由于我认为的会了是能得到结果了&#xff0c;所以我亲自去把题解的C代码给改成了Java的&#xff0c;尽管代码和逻辑上的高度统一。编译器还是报错了。 第三个死都过不去。而且后面的还超时了。 这使我十分怀疑是不是超时或者空间不够所导致的。但是去问讯飞星火&#xff0c;它…

【Qt】error LNK2001: 无法解析的外部符号

参考&#xff1a;Qt/VS LNK2019/LNK2001&#xff1a;无法解析的外部符号_qt lnk2001无法解析的外部符号-CSDN博客 微软官方报错文档-链接器工具错误 LNK2019 __declspec error LNK2001: 无法解析的外部符号 "__declspec(dllimport) 原因 以这种为前缀的基本上跟库相关…