xxl-job踩坑记录——执行器,执行10分钟自动失败


问题描述

上一篇Docker 部署xxl-job 报错:xxl-rpc remoting error(connect timed out), for url : xxxxxx - 这行代码没Bug - 博客园 (cnblogs.com),解决了方式是把执行器自动注册改为手动录入,后面跑任务的时候发现超过十分钟的任务会自动失败,但是任务还在跑,只是调度中心这边日志已经是调度失败了,查看失败日志为:“任务结果丢失,标记失败”。如下图

解决思路

仔细看了一下任务执行及日志回调的源码,也打了日志,发现并没有问题,当任务跑了十分钟后,执行器的线程没有停止还在继续跑着,但是调度中心的日志已经是失败了。

后面想起来在调度中心启动的时候,创建一个线程来处理任务结果丢失。

JobCompleteHelper.getInstance().start();

进入start()方法,里面创建了两个线程,查看monitorThread线程的run方法,

最终解决

把执行器手动录入改为自动注册,然后在执行器的配置文件里把地址加上,就解决了问题。

xxl:
  job:
    executor:
      address: http://172.17.0.1:${server.port}/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM