From 7d9f6779483896972180d82e171ae729927a7327 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sun, 16 Sep 2018 03:27:08 +0800 Subject: [PATCH] =?UTF-8?q?GLUE=E8=84=9A=E6=9C=AC=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=B8=85=E7=90=86=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=8F=8A=E6=97=B6=E6=B8=85=E7=90=86=E8=BF=87=E6=9C=9F=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=96=87=E4=BB=B6=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 5 +++-- .../core/handler/impl/ScriptJobHandler.java | 19 ++++++++++++++++++- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 2bda00b6..9e7e1540 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1241,8 +1241,9 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 25、任务调度备注中标注任务触发类型,如Cron触发、父任务触发、API触发等等,方便排查调度日志; - 26、底层日志组件SimpleDateFormat线程安全问题修复; - 27、执行器通讯线程优化,corePoolSize从256降低至32; -- 28、【迭代中】新增任务运行模式 "GLUE模式(PowerShell) ",支持PowerShell脚本任务; -- 29、【迭代中】分片任务失败重试优化,仅重试当前失败的分片; +- 28、新增任务运行模式 "GLUE模式(PowerShell) ",支持PowerShell脚本任务; +- 29、GLUE脚本文件自动清理功能,及时清理过期脚本文件; +- 30、【迭代中】分片任务失败重试优化,仅重试当前失败的分片; ### TODO LIST diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/handler/impl/ScriptJobHandler.java b/xxl-job-core/src/main/java/com/xxl/job/core/handler/impl/ScriptJobHandler.java index 32741182..452c3877 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/handler/impl/ScriptJobHandler.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/handler/impl/ScriptJobHandler.java @@ -25,6 +25,20 @@ public class ScriptJobHandler extends IJobHandler { this.glueUpdatetime = glueUpdatetime; this.gluesource = gluesource; this.glueType = glueType; + + // clean old script file + File glueSrcPath = new File(XxlJobFileAppender.getGlueSrcPath()); + if (glueSrcPath.exists()) { + File[] glueSrcFileList = glueSrcPath.listFiles(); + if (glueSrcFileList!=null && glueSrcFileList.length>0) { + for (File glueSrcFileItem : glueSrcFileList) { + if (glueSrcFileItem.getName().startsWith(String.valueOf(jobId)+"_")) { + glueSrcFileItem.delete(); + } + } + } + } + } public long getGlueUpdatetime() { @@ -48,7 +62,10 @@ public class ScriptJobHandler extends IJobHandler { .concat("_") .concat(String.valueOf(glueUpdatetime)) .concat(glueType.getSuffix()); - ScriptUtil.markScriptFile(scriptFileName, gluesource); + File scriptFile = new File(scriptFileName); + if (!scriptFile.exists()) { + ScriptUtil.markScriptFile(scriptFileName, gluesource); + } // log file String logFileName = XxlJobFileAppender.contextHolder.get();