xxl-job的使用历程

news/2025/1/16 10:38:36/

一.为什么会用xxl-job

项目要求,单开一个服务专门跑定时任务,不使用框架自带的,而选择技术中台的xxl-job进行集成使用。

二.集成过程报错

按照文档进行集成,发现各种报错,联系技术中台,回复的是我们自己的问题(虽然确实是,但是为什么不能使用,他们也说不上来)

1.msg:xxl-job remoting error(connect timed out), for url :http://ip..........

这边看服务启动,日志显示远程注册失败,集成步骤,代码都没有报错,服务也是正常启动的
原因:我们到技术中台是网络不通的,走的网关服务,需要进行我们系统服务到xxl-job调度中心双向网络打通,打通了......就报下面的错了

2.msg:xxl-rpc remoting error(Connection refused (Connection refused)),for url :http://ip....../run

这个/run让我就疑惑了,我们系统没有该方法,甚至手搓了一个/run方法,还是报这个错,无论是怎么改ip,使用nginx ip然后进行网络打通,使用注册中心地址进行网络打通,都会报错xxx/run

三.自己本地集成一个xxl-job玩玩

1.上xxl-job那边下载你想集成的版本

分布式任务调度平台XXL-JOB

2.下载源码后,分开里面的xxl-job-admin和xxl-job-executor-sample-springboot单独是一个springboot启动,然后执行里面自带的数据库sql(调度中心使用)

3.服务部署ok,sql执行ok,启动ok,调度中心启动!

http://127.0.0.1:9980/xxl-job-admin/jobinfo

端口用自己设置的

4.配置文件

这个是在调度中心里看到的执行器对应项目中的配置文件:

xxl.job.executor.appname=xxl-job-executor-sample

这个是在调度中心中的任务管理中的方法对应项目中的执行方法:

@XxlJob("demoJobHandler")

5.服务启动并点击执行一次,查看现象:

服务启动,日志打印说远程注册成功,执行一次看自己的打印结果,可打印

四.问题解决

定位原因:执行注册的ip不正确,执行的ip不变,但是端口不能与服务端口一致,服务端口设置为8087,执行端口设置为8086,nginx映射为38087和38086,使用的是容器云部署,所以部署的时候需要设置两个端口,也就是需要配置两个负载,最后问题解决


http://www.ppmy.cn/news/1563570.html

相关文章

ESP32学习笔记_FreeRTOS(5)——Mutex

摘要(From AI): 这篇博客内容围绕 FreeRTOS 中的**互斥量(Mutex)和递归互斥量(Recursive Mutex)**的使用进行了详细的介绍。整体结构清晰,涵盖了互斥量的基本概念、使用方式以及与其他同步机制(如二进制信号…

Django缓存系统详解:使用Redis提升应用性能

1. 引言 在现代Web开发中,性能优化是一个永恒的主题。随着用户数量的增加和功能的复杂化,如何保持应用的高效运行成为了开发者面临的主要挑战之一。Django,作为一个成熟的Web框架,提供了强大的缓存系统来应对这一挑战。本文将深入探讨Django缓存系统,特别关注如何使用Red…

安装本地测试安装apache-doris

一、安装前规划 我的服务器是三台麒麟服务器,2台跑不起来,这是我本地的,内存分配的也不多。 fe192.168.1.13 主数据库端口9030访问 8Gbe192.168.1.13内存4G 硬盘50be192.168.1.14内存4G 硬盘50be192.168.1.12内存4G 硬盘5013同时安装的fe和be 。 原理:192.168.1.13 服…

2025windows环境下安装RabbitMQ

官网下载地址: Installing on Windows | RabbitMQ下载速度挺快的加速推荐 : BitComet(比特彗星) 官网下载 : 先完成 exe 的下载,参考对照关系,下载对应Erlang 参考关系对照表完成下载 : OTP Versions Tre…

docker-compose和docker仓库

一、docker-compose 1.概述 docker-compose是一个自动编排工具,可以根据dockerfile自动化部署docker容器。 主要功能 配置定义 使用YAML文件(通常命名为docker - compose.yml)来描述应用程序的服务、网络和卷等配置。 容器编排 可以同时…

Bash语言的多线程编程

Bash语言的多线程编程 引言 在现代的计算环境中,随着多核处理器的广泛应用,多线程编程逐渐成为提高程序执行效率的重要方式。尽管Bash并不是一种传统意义上的多线程编程语言,但通过合理的设计和技巧,我们仍然可以在Bash中实现并…

hutool-http实现离线爬虫

文章目录 1.数据爬取流程2.离线爬虫(Hutool-http实现)1.获取数据2.数据清洗3.为什么有各种类型的强转4.数据入库 3.测试完整代码 1.数据爬取流程 1.分析数据源(怎么获取) 2.拿到数据后怎么处理 3.写入数据库存储 2.离线爬虫(Hutool-http实现) 1.获取数据 这里返回的是jso…

掌握 React 关键:理解 super () 和 super (props) 的不同应用

在 React 中,super() 和 super(props) 都与 React 类组件的构造函数(constructor)以及继承有关。为了理解它们之间的区别,我们需要了解 JavaScript 类继承机制以及 React 类组件的工作原理。 1. super() 与 super(props) 的区别 …