阿里云docker启动xxljob,部署自己的定时任务

news2024/9/30 11:36:00

 本次安装版本xxl-job-admin:2.3.0

一:创建xxl-job数据库的各种表

作者官方地址 下载sql执行

 二:docker拉取xxl-job镜像

docker pull xuxueli/xxl-job-admin:2.3.0

三:docker启动xxl-job服务

docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://localhost:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=用户名 --spring.datasource.password=密码"  -p 8899:8080    -v /tmp:/data/applogs    --name xxl-job-admin xuxueli/xxl-job-admin:2.3.0

 localhost换成连接你数据库的ip,即阿里云实例的公网ip。然后数据库的用户名和密码换成自己的.

 -p 8899:8080的意思是:

这条命令将容器内部的 8080 端口映射到了 Docker 主机上的 8899端口。这意味着当你通过 http://localhost:8899访问 Docker 主机时,请求将会被转发到容器内部的服务,实现对该服务的访问。通过运行该 Docker 命令,你可以通过 http://localhost:8899来访问 xxl-job-admin 服务。

其中端口号8899可自行设置,是你后面访问xxl-job控制台的端口号

 

8080可不修改,是xxl-job-admin服务的端口号

 docker ps 查看是否运行成功

 四:登录xxljob控制台

 http://xxx.xx.xx.xx:8899/xxl-job-admin

首次登录账号admin  密码:123456

登陆后可以看到已经有个任务建好了。

 五:创建自己的定时任务项目

 1.maven添加依赖

 <!--添加xxl-job依赖-->
        <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>2.3.0</version>
        </dependency>

2.在application.yml文件中添加配置

#xxl-job配置

  ### 调度中心部署根地址 [选填]:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";为空则关闭自动注册;
xxl:
  job:
    admin:
      addresses: http://xxxx:8899/xxl-job-admin
  ### 执行器通讯TOKEN [选填]:非空时启用;
    accessToken:
  ### 执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
    executor:
      appname: xxl-job-executor-sample
  ### 执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
      address:
  ### 执行器IP [选填]:默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
      ip:
  ### 执行器端口号 [选填]:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
      port: 9999
  ### 执行器运行日志文件存储磁盘路径 [选填] :需要对该路径拥有读写权限;为空则使用默认路径;
      logpath: /data/applogs/xxl-job/jobhandler
  ### 执行器日志文件保存天数 [选填] : 过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
      logretentiondays: 30

 3.创建配置类XxlJobConfig 

@Configuration
@Slf4j
public class XxlJobConfig {
    @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() {
        log.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;
    }

}

4.阿里云服务器上面,把端口8899和9999都加入安全组

5.创建定时任务处理的类

@Slf4j
@Component
public class RunningTestJob {

    @XxlJob("demoJobHandler")
    public void demoJobHandler() throws Exception {
        log.info("demoJobHandler execute 任务方法触发成功");
    }
}

去控制台执行一下,看下效果

 可以去看打印的日志,也可以看数据库执行日志记录,多了一条 状态200,就是成功了。

 

 

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

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

相关文章

用C语言实现经典游戏——贪吃蛇

目录 1.游戏实现思想 &#xff08;1&#xff09;定义蛇对象 &#xff08;2&#xff09;食物对象 &#xff08;3&#xff09;分数&#xff1a; &#xff08;4&#xff09;初始化蛇 &#xff08;5&#xff09;初始化食物 &#xff08;6&#xff09;修改控制台光标位置 &…

Spring Data JPA 报 HOUR_OF_DAY: 0 -> 1异常的解决过程和方案

在进行数据查询时&#xff0c;控制台报了Caused by: com.mysql.cj.exceptions.WrongArgumentException: HOUR_OF_DAY: 0 -> 1异常&#xff0c;查询得知&#xff1a;这是由于查mysql库&#xff0c;转换类型为datetime类型的字段引起的。 网上的解决方案有多种&#xff0c;大…

坐标系转换QGIS插件GeoHey

最近要将面要素&#xff08;GCJ02火星坐标系&#xff09;转WGS84&#xff0c;用程序转太麻烦了&#xff0c;找了半天没找到合适的。 插件非常好用&#xff01;&#xff01;&#xff01; 在QGIS中&#xff0c;由极海&#xff08;GeoHey&#xff09;团队提供GeoHey Toolbox插件…

Linux_清理docker容器的log

最近发现服务器硬盘空间满了&#xff0c;就排查了一番&#xff0c;发现有docker容器的log文件占用太多&#xff0c;所以要做一下清理。 首先是要找到docker容器log文件的储存位置。 1、首先在执行了一下 df -Th 命令&#xff0c;发现根目录满了。 2、然后去到根目录下&#xff…

Android项目中接入 Lint代码规范

一、概述 Android Studio 提供了一个名为 Lint 的代码扫描工具,可帮助开发者发现并更正代码结构质量方面的问题,并且无需您实际执行应用,也不必编写测试用例。系统会报告该工具检测到的每个问题并提供问题的描述消息和严重级别,以便开发者可以快速确定需要优先进行的关键改…

Linux下vim的常见命令操作(快速复查)

目录 前言1、Vim常用操作1.1、环境参数1.2、方向1.3、插入命令1.4、定位命令1.5、删除命令1.6、复制和剪切命令1.7、替换和取消命令1.8、搜索和搜索替换命令1.9、保存和退出命令1.10、其他命令1.11、可视模式 前言 本篇文章不面向新手&#xff0c;全文几乎都是命令&#xff0c;…

【Redis】多级缓存之缓存数据同步策略与Canal

目录 一、数据同步策略 1.设置有效期 2.同步双写 3.异步通知 二、Canal 三、监听Canal 一、数据同步策略 缓存数据同步的常见方式有三种&#xff1a; 1.设置有效期 给缓存设置有效期&#xff0c;到期后自动删除。再次查询时更新&#xff0c;他简单、方便&#xff0c;但…

H5学习 (一)--创建工程

文章目录 一、下载安装VS Code二、创建新文件1. 使用cmd N&#xff0c;创建一个文件2. 点击 Select a language&#xff0c;改变文件的编码类型3. 选择HTML 语言模式4. 输入 !按回车键&#xff0c;就会自动生成一个HTML模版5. 右击项目&#xff0c;选择 “Open In Default Bro…

交叉熵、Focal Loss以及其Pytorch实现

交叉熵、Focal Loss以及其Pytorch实现 本文参考链接&#xff1a;https://towardsdatascience.com/focal-loss-a-better-alternative-for-cross-entropy-1d073d92d075 文章目录 交叉熵、Focal Loss以及其Pytorch实现一、交叉熵二、Focal loss三、Pytorch1.[交叉熵](https://pyto…

浅谈商业智能BI的过去、现在和未来

互联网的大发展也在引领各行各业的改变&#xff0c;包括商业智能BI&#xff0c;商业智能BI就是在数字化时代下飞速发展的。商业智能BI与互联网发展的同时&#xff0c;人工智能、大数据、区块链、云计算等新一代信息化、数字化技术也开始进行加速商业智能BI发展及应用&#xff0…

vmareWorkstation-提取vmdk-文件系统

参考博文-CSDN-BugM&#xff08;作者&#xff09;-将vmdk作为硬盘挂载到另一个linux系统的虚拟机上 一、以管理员身份运行wmware-workstation 二、将目的vmdk文件映射到一个linux虚拟机上 选择左下方的添加按钮 添加的文件的路径可以查看需要添加的虚拟机的情况&#xff0c;如…

PXE批量网络装机、PXE无人值守安装

目录 一、批量部署的优点 二、基本部署过程 三、部署pxe网络体系要求 四、搭建PXE远程安装服务器的步骤 1.安装并启用TFTP服务 2.安装并启用dhcp服务 3.准备linux内核、初始化镜像文件 4.准备PXE引导程序 5.安装FTP服务&#xff0c;准备CentOS7安装源 6.配置启动菜单文…

ATA-3090功率放大器在新能源汽车上的应用

随着全球对环境保护和节能减排的重视&#xff0c;新能源汽车正逐渐成为汽车市场的主流。而功率放大器作为电子控制系统中的关键部件之一&#xff0c;也扮演着越来越重要的角色。那么&#xff0c;功率放大器在新能源汽车上的应用有哪些呢&#xff1f; 图&#xff1a;新能源汽车 …

数字IC前端学习笔记:仲裁轮询(五)

相关文章 数字IC前端学习笔记&#xff1a;LSFR&#xff08;线性反馈移位寄存器&#xff09; 数字IC前端学习笔记&#xff1a;跨时钟域信号同步 数字IC前端学习笔记&#xff1a;信号同步和边沿检测 数字IC前端学习笔记&#xff1a;锁存器Latch的综合 数字IC前端学习笔记&am…

聚焦云原生安全|安全专家揭秘如何强化容器威胁检测能力

4月15日&#xff0c;由极狐主办的“当效率遇上安全 一起开启质效升级之旅”活动顺利开展。 作为国内云原生安全领导厂商&#xff0c;安全狗受邀出席此次活动。 厦门服云信息科技有限公司&#xff08;品牌名&#xff1a;安全狗&#xff09;成立于2013年&#xff0c;致力于提供云…

【中危】BootCDN 投毒风险

漏洞描述 BootCDN是免费的前端开源项目 CDN 加速服务&#xff0c;通过同步cdnjs仓库&#xff0c;提供了常用javascript组件的CDN服务。 多个开发者发现在特定请求中&#xff08;如特定Referer及移动端user-agent&#xff09;会返回包含指向union.macoms.la地址的恶意js文件&a…

快速提取地形图坐标到Revit建立场地模型?

一、快速提取地形图坐标到Revit建立场地模型? 1、打开免费三维地形软件&#xff1a; 2、定位项目位置&#xff1a; 3、按步骤提取坐标及高程&#xff1a; 4、保存为csv文件格式&#xff0c;打开CSV文件&#xff0c;删除第一行&#xff1a; 5、打开坐标转换软件&#xff0c;按步…

python3套接字编程之socket和socketserver(TCP和UDP通信)

socket和socketserver是python3中socket通信模块&#xff0c;关于其使用做如下总结。 目录 1.socket 1.1模块引入 1.2套接字获取 1.3套接字接口 1.3.1 服务端 1.3.2 客户端套接字函数 1.3.3 公共套接字函数 1.3.4 面向锁的套接字方法 1.3.5 面向文件的套接字的函数 …

Python注释解密、变量大揭秘,数据类型轻松入门!

文章目录 前言注释单行注释多行注释 变量数据类型1.整型&#xff08;int&#xff09;2.浮点型&#xff08;float&#xff09;3.布尔型&#xff08;bool&#xff09;4.字符串&#xff08;str&#xff09;5.列表&#xff08;list&#xff09;6.元组&#xff08;tuple&#xff09;…

RabbitMQ高可用集群部署

文章目录 1.RabbitMQ常见的集群模式2.部署基于镜像队列模式的RabbitMQ高可用集群2.1.镜像队列集群原理2.2.分别在两台机器中部署RabbitMQ2.2.1.基础环境配置2.2.2.安装Erlang环境2.2.3.部署RabbitMQ并开启管理界面2.2.4.配置RabbitMQ各节点变量信息2.2.5.访问RabbitMQ后台管理系…