一、 使用
官网文档上讲解的很详细:XXL-JOB—分布式任务调度平台
二、注意点
2.1 调度一直失败
使用的版本:2.2.1-SNAPSHOT
问题描述:执行一次时可以执行,但是连续执行,也就是任务处于RUNNING
状态时,一致显示调度超时,把允许的超时时间调大也无济于事。
解决:
可能原因一:
如版本名称显示,现在这个时候2.2.1-SNAPSHOT
还是个快照版,官方文档中给的地址直接IDEA拉取的是这个快照版的,发现还在更新中,gitee上显示最新更新就是4天前,可能是新版本存在bug,于是调整到2.2.0
已发布版本的,这个问题得以解决。
原因二:
我是在远程服务器上和本地上都开启了xxl-job-admin
他们共享一个数据库,job项目在本地开启,远程调度中心因为一些原因会导致调度出错。当开启任务时,两个调度中心都可以调度,而远程调度中心调度时就会出问题,本地就会成功,有观察到一时调度失败一时调度成功,基本上肯定是这个原因,关闭远程调度中心后,全部成功。另外手动点击执行一次时,由这个调度中心来调度任务,同样在远程执行这一操作时一直失败,而本地一直成功,这更说明这个原因。
远程不能调本地的原因:我本地注册或暴露的ip并不在公网上,没法给非本机同局域网的其它主机访问,而远程的调度中心在公网上,所以本地可以访问调度中心,而调度中心没法通过我注册的ip来调度我本地的任务。
2.2 job handler不存在
使用的版本:2.2.0
问题描述:在使用执行器来处理非本模块下的任务逻辑时,会出现code:500 msg:job handler [clearRuleHandler] not found.
解决 :提示很明显,虽然底层具体执行逻辑我没了解过,但是我估计是在哪个模块(系统)下配置的执行器,只能执行本模块下定义的任务,当然我说的运行模式是BEAN模式下的。
2.3 调度异常
使用的版本:2.1.2
问题描述:抛异常提示:
17:36:16.520 logback [xxl-job, admin JobTriggerPoolHelper-fastTriggerPool-961864718] INFO c.x.r.r.i.r.XxlRpcReferenceBean - >>>>>>>>>>> xxl-rpc, invoke error, address:http://xxx.xxx.xxx.xxx:8888/, XxlRpcRequestXxlRpcRequest{requestId='0e601e77-0ddb-4032-a425-6f84ff4675e9', createMillisTime=1592386572144, accessToken='', className='com.xxl.job.core.biz.ExecutorBiz', ......}
17:36:16.522 logback [xxl-job, admin JobTriggerPoolHelper-fastTriggerPool-961864718] ERROR c.x.j.a.core.trigger.XxlJobTrigger - >>>>>>>>>>> xxl-job trigger error, please check if the executor[http://xxx.xxx.xxx.xxx:8888/] is running.
com.xxl.rpc.util.XxlRpcException: xxl-rpc, request timeout at:1592386576519
Caused by: com.caucho.hessian.io.HessianProtocolException: No classes defined at reference '64'
解决 :未解决,另外这个版本的界面不是很完善,编辑功能好像没做,执行结果显示也相对较慢。