From 6b6969b417d0fbea1ff0a4689cb72cff53e8dbda Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Tue, 13 Oct 2020 16:19:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=A7=E8=A1=8C=E5=99=A8=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E6=B8=85=E7=90=86=E4=BC=98=E5=8C=96=EF=BC=8C=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=B0=8F=E6=A6=82=E7=8E=87=E4=B8=8B=E6=97=A5=E5=BF=97=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=B8=BA=E7=A9=BA=E5=AF=BC=E8=87=B4=E6=B8=85=E7=90=86?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 7 ++++--- .../com/xxl/job/core/thread/TriggerCallbackThread.java | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index f44a4cf5..150340df 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2047,10 +2047,11 @@ data: post-data - 6.1、废弃 "ShardingUtil" 组件:改用 "XxlJobContext.getXxlJobContext().getShardIndex()/getShardTotal();" 获取分片参数; - 6.2、日志组件逻辑调整:日志组件改为通过 XxlJobContent 获取任务上下文并匹配写入对应日志文件; - 7、页面redirect跳转后https变为http问题修复; -- 8、调度线程连接池优化,修复连接有效性校验超时问题。 +- 8、调度线程连接池优化,修复连接有效性校验超时问题; - 9、轮训路由策略优化,修复小概率下并发问题; -- 10、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等; -- 11、[规划中]分片任务:全部完成后才会出发后置节点; +- 10、执行器日志清理优化,修复小概率下日志文件为空导致清理异常问题; +- 11、[规划中]任务触发参数优化:支持选择 "Cron触发"、"固定间隔时间触发"、"指定时间点触发"、"不选择" 等; +- 12、[规划中]分片任务:全部完成后才会出发后置节点; ### 7.32 版本 v2.3.0 Release Notes[规划中] - 1、[规划中]DAG流程任务 diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java index 7f3f27ad..fd782786 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/thread/TriggerCallbackThread.java @@ -241,9 +241,13 @@ public class TriggerCallbackThread { // load and clear file, retry for (File callbaclLogFile: callbackLogPath.listFiles()) { byte[] callbackParamList_bytes = FileUtil.readFileContent(callbaclLogFile); + + // avoid empty file if(callbackParamList_bytes == null || callbackParamList_bytes.length < 1){ + callbaclLogFile.delete(); continue; } + List callbackParamList = (List) JdkSerializeTool.deserialize(callbackParamList_bytes, List.class); callbaclLogFile.delete();