Xxl-Job任务调度失败及解决

错误1:报状态码500

原因:
打开任务调度中心,查看调度失败的任务,看到code为500。在给出的报错信息msg中,给出了错误信息:

connection timed out: /10.254.7.215:9999

连接此ip超时
及有可能是因为ip端口找不到,导致连接超时。因为在设置执行器时,机器地址一般选择自动注册,但有些机器在自动注册时,会匹配不到地址,导致出错。
解决:

  1. 打开任务调度中心,切换到执行器管理页面,编辑执行器。
    在这里插入图片描述

  2. 注册方式更改为手动录入
    在这里插入图片描述

  3. 将机器地址更改为运行任务的服务器的地址
    在这里插入图片描述

  4. 再次执行任务调度,成功
    在这里插入图片描述

错误二:时间不一致

(1)首先启动调度中心
(2)启动xxl-job-demo项目,为了展示更好的效果,可以同时启动三个项目,用同一个JobHandler,查看处理方式。
注意:
​ 测试的时候如果出现问题:说明了当前服务器的时间和本地时间不一致导致的;
在这里插入图片描述
解决方案:
在服务器上把时间改为和本地时间一致
Linux中

# 输入date命令查看当前系统时间 	
	date
# 修改当前时间命令 	
	date -s "2020-12-17 14:09:00"  		#表示把当前时间修改为2020-12-17 14:09:00

注意:

这个错误表示当前由于我们使用了两个服务来实现定时任务,那么执行器地址中要配有两个地址
在这里插入图片描述

启动多任务

在启动多个项目的时候,端口需要切换,连接xxl-job的执行器端口不同相同

服务一:默认启动8801端口,执行器端口为9999

idea中不用其他配置,直接启动项目即可

服务二:项目端口:8802,执行器端口:9998

idea配置如下:

  • 编辑配置,Edit Configurations…在这里插入图片描述
    选中XxlJobApplication,点击复制
    在这里插入图片描述
  • 修改参数

在这里插入图片描述

  • 启动:选中8802启动项目
    在这里插入图片描述
    服务三:项目端口:8803,执行器端口:9997
    在这里插入图片描述
    注意:

在执行器管理中对当前执行器的OnLine机器地址,一定要把9999,9998,9997加入进去
在这里插入图片描述
(3)测试效果

三个项目启动后,可以查看到是轮询的方式分别去执行当前调度任务。


版权声明:本文为qq_43388893原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。