定时任务管理器(xxl-job)

news/2024/5/18 23:21:02 标签: xxl-job, 定时器

文章目录

  • xxl-job简介
  • 安装使用
    • 拉取xxl-job项目
    • 导入数据库表
    • 启动 admin 服务端
    • Spring Boot 整合 xxl-job
    • 修改执行器
    • 新建定时任务

xxl-job简介

XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。开箱即用。

在这里插入图片描述
admin :理解为 server服务端 ,负责提供xxljob相关功能

demo: 理解为 client客户端,你自己想用xxljob的服务

HTML页面, 可视化操作,任务调度。

安装使用

拉取xxl-job项目

pg版本:https://gitee.com/V88888_admin/xxl-job-pg/tree/master/

mysql版本(官方):https://gitee.com/xuxueli0323/xxl-job

在这里插入图片描述
IDEA上打开项目。

导入数据库表

找到pgsql文件,去数据库执行

在这里插入图片描述

启动 admin 服务端

先修改 application.properties 配置文件

在这里插入图片描述

改完后启动 admin:

在这里插入图片描述
然后去HTML管理界面看下,http://localhost:8961/xxl-job-admin:

默认账号 admin
默认密码 123456

在这里插入图片描述

Spring Boot 整合 xxl-job

接入xxljob,开始使用xxljob实现定时任务

加入依赖:

        <!-- xxl-job-core -->
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.4.0</version>
        </dependency>

修改配置文件

在这里插入图片描述

加入注解

在这里插入图片描述

编写配置

在这里插入图片描述

package com.xxl.job.executor.core.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;


@Configuration
public class XxlJobConfig {
    private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

    @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;


    @Bean
    public XxlJobSpringExecutor xxlJobExecutor() {
        logger.info(">>>>>>>>>>> xxl-job config init.");
        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();
     */


}

接着就启动项目即可。

修改执行器

在这里插入图片描述

编辑,修改该定时任务需要在哪台机器启动的地址

在这里插入图片描述

新建定时任务

在这里插入图片描述

在这里插入图片描述

保存执行即可

在这里插入图片描述


http://www.niftyadmin.cn/n/5018119.html

相关文章

docker系列(2) - 常用命令篇

文章目录 2. docker常用命令2.1 参数说明(tomcat案例)2.2 基本命令2.3 高级命令2.4 其他 2. docker常用命令 2.1 参数说明(tomcat案例) 注意如果分成多行&#xff0c;\后面不能有空格 # 拉取运行 docker run \ -d \ -p 8080:8080 \ --privilegedtrue \ --restartalways \ -m…

OAK相机:启动报错X_LINK_DEVICE_NOT_FOUND

OAK相机&#xff1a;启动报错X_LINK_DEVICE_NOT_FOUND 环境报错原因与解决未设置 udev 规则USB崩溃排线接触不良或相机模块时钟干扰 环境 硬件&#xff1a; 4✖️OV9782相机模组OAK-FFC-4P驱动模组笔记本电脑 软件&#xff1a; Ubuntu18.04python 3.9depthai 2.21.2.0 报错…

php权限调整强制用户退出的解决方案

要强制用户重新登录&#xff0c;你可以采取以下步骤&#xff1a; 当用户登录时&#xff0c;将用户的登录状态和其他相关信息存储在服务器端。例如&#xff0c;你可以将用户ID、用户名或其他标识符存储在服务器的会话&#xff08;session&#xff09;中。当管理员修改用户的某些…

Matlab图像处理-分水岭算法

基本概念 最常用的分水岭算法是F.Meyer在20世纪90年代早期提出的基于灰度图像的分割算法&#xff0c;它是一种基于拓扑理论的数学形态学的分割方法&#xff0c;其基本思想是把图像看作是测地学上的拓扑地貌&#xff0c;图像中每一点像素的灰度值表示该点的海拔高度&#xff0c…

Linux 中的 cpp 命令及示例

cpp是 C 语言预处理器,C 编译器会在编译之前自动使用它来转换程序。它也被称为宏处理器,因为它用于给出较长代码段的缩写。它只能与 C、C++ 和 Objective-C 源代码一起使用。与其他编程语言一起使用可能会导致不确定的问题。 句法: cpp [-选项] infile 输出文件 cpp [-opt…

SQL数据库查询超时,查询数据库的哪些表被上锁的语句

1.异常提示 2.表语句 2.1 查询锁表的语句 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_typeOBJECT * 若是下面没有显示内容&#xff0c;说明当前没有锁住的表 2.2若是有显示锁住的表&#…

QQ聊天记录删除了怎么恢复?果粉都是这么做的

QQ自1999年推出以来就广受欢迎&#xff0c;在这二十多年里&#xff0c;QQ已经建立起了庞大的用户基础。即使微信崛起&#xff0c;仍旧有很多小伙伴不愿“抛弃”QQ。在使用QQ的过程中&#xff0c;您是否会遇到误删聊天记录的情况&#xff1f;qq聊天记录删除了怎么恢复&#xff1…

MIT 6.S081学习笔记(第〇章)

〇、前言 本文涉及 xv6 《第零章 操作系统接口》相关&#xff0c;主要对涉及的进程、I/O、文件描述符、管道、文件等内容产生个人理解&#xff0c;不具有官方权威解释&#xff1b;文章的目录与书中的目录没有严格的相关性&#xff1b;文中会有问题 (Question) 字段&#xff0c…