irpas技术客

解决工作上使用xxl-job调度的时候出现的问题_小方一身坦荡_xxljob连接超时

irpas 4443

使用xxl-job调度出现的问题: msg:xxl-rpc remoting error(Read timed out), for url : http://192.168.48.1:8891/run 连接数据库超时,读取不到数据 发现问题:“最开始因为在docker部署lilishop商城的mysql版本是8.0.25、xuxueli/xxl-job-admin2.3.0版本”,但是xxl-job使用调度失败,出现连接超时问题,但从官网拉取xuxueli/xxl-job-admin 源代码,跑起来也是没有问题,可以执行调度。

解决问题: 1. 通过更改mysql版本。第一步更改lilishop商城中的maven中的mysql版本我把8.0.26版本改成了5.1.8版本,其他子模块的pom.xml文件也全改成了5.1.8mysql版本,因为不全改掉,一package还是会自动生成最新的8.0.26版本

然后第二步操作: 通过命令“docker rm –f 容器(container)Id”把之前部署在docker里的xuxueli/xxl-job-admin:2.3.0和mysql:8.0.25全给删除 然后通过命令:“docker ps”查看,刚刚删除的那两个已经不存在

2.重新拉取xxl-job镜像和mysql的镜像 通过命令: docker pull xuxueli/xxl-job-admin:2.3.0 这个是拉取xxl-job的 docker pull mysql:5.7.28 这个拉取mysql的

3. 启动mysql

docker run -p 【宿主机ip】: 【容器暴露的ip】 --name 【容器的名字】-e MYSQL_ROOT_PASSWORD=【你的数据库密码】 -d 【镜像名称】:【镜像的TAG标签】

执行命令: docker run -p 3306:3306 --name mysql5.7.28 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.28 如果出现镜像已经存在这种情况,如下图: 我们可以通过下面命令,解决问题

docker restart 容器名

这样就启动成功了

注意: 如果用Navicat连接的话,这里需要注意,要先查看下docker的网络ip段,可以使用命令查看这个已经启动的mysql的容器的ip 首先通过 docker ps 查看 mysql的容器id 然后再执行命令:" docker inspect mysql的容器名"如下图 注意: 一般来说,Gateway这个就是宿主机的网关,那么 直接访问 172.17.0.1的 3306端口就能登录上mysql了,可以使用Navicat来登录,但是如果连接不上,那么用ens33的ip地址去连接数据库 4.启动xxl-job镜像

执行命令:

docker run -d -e PARAMS="–spring.datasource.url=jdbc:mysql://192.168.48.133:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC --spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.jdbc.Driver" -p 9001:8080 --name my-xxl-job-2.3.0 -d xuxueli/xxl-job-admin:2.3.0 然后通过docker ps 查看 xuxueli/xxl-job-admin:2.3.0 是否有镜像了

如果出现XXL-JOB镜像已经存在的这种情况,如下图所示:

则我们需要通过下面命令,来处理问题:

docker restart 容器名

这样就解决问题了

因为设置的是连接本地数据库,所以需要创建数据库 执行xxl_job的sql语句 然后再查看docker 里面的xuxueli/xxl-job-admin:2.3.0日志 看看是否xuxueli/xxl-job-admin:2.3.0启动成功

执行命令:docker logs e8917f309f99

出现:“12:40:13.087 logback [xxl-job, admin JobScheduleHelper#scheduleThread] WARN c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>>>> xxl-job, schedule misfire, jobId = 2 12:40:13.105 logback [xxl-job, admin JobScheduleHelper#scheduleThread] WARN c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>>>> xxl-job, schedule misfire, jobId = 3 12:40:13.106 logback [xxl-job, admin JobScheduleHelper#scheduleThread] WARN c.x.j.a.c.thread.JobScheduleHelper - >>>>>>>>>>> xxl-job, schedule misfire, jobId = 4”

就表示xuxueli/xxl-job-admin:2.3.0启动成功了 然后执行调度: 执行成功 出现调度结果“失败”那是因为后台debug了 选择mute breakpoint静音断点 来看看xxl-job执行调度任务的效果图: 刚购买的商品,但是未付款 设置了用户未付款,超过1分钟自动取消订单


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #xxljob连接超时 #Remoting #errorRead #timed #out #for