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