From 7b59be46c56122f0d1f458e78e8c9c74ce2825c4 Mon Sep 17 00:00:00 2001 From: "xueli.xue" Date: Sun, 7 May 2017 20:00:52 +0800 Subject: [PATCH] =?UTF-8?q?JobHandler=E4=B8=AD=E5=BC=80=E5=90=AF=E5=AD=90?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=97=B6=EF=BC=8C=E6=94=AF=E6=8C=81=E5=AD=90?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E8=BE=93=E5=87=BA=E6=89=A7=E8=A1=8C=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=B9=B6=E9=80=9A=E8=BF=87Rolling=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 13 ++++++++++--- .../webapp/WEB-INF/template/common/common.macro.ftl | 4 ++-- .../src/main/webapp/static/js/joblog.index.1.js | 5 ++++- .../com/xxl/job/core/log/XxlJobFileAppender.java | 5 +++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index a8191246..cfdd93fc 100644 --- a/README.md +++ b/README.md @@ -409,6 +409,8 @@ try{ } ``` +而且,在JobHandler中开启子线程时,子线程也不可catch处理"InterruptedException",应该主动向上抛出。 + #### 4.9 删除任务 点击删除按钮,可以删除对应任务。 @@ -598,6 +600,8 @@ XXL-JOB会为每次调度请求生成一个单独的日志文件,需要通过 日志文件存放的位置可在“执行器”配置文件进行自定义,默认目录格式为:/data/applogs/xxl-job/jobhandler/“格式化日期”/“数据库调度日志记录的主键ID.log”。 +在JobHandler中开启子线程时,子线程将会将会把日志打印在父线程即JobHandler的执行日志中,方便日志追踪。 + #### 5.6 通讯模块剖析 ##### 5.6.1 一次完整的任务调度通讯流程 @@ -804,9 +808,10 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 6、登录拦截Redirect时获取项目名,解决非根据目录发布时跳转404问题; #### 6.15 版本 V1.7.1 特性(Coding) -- 1、任务分片:一个任务被拆分成N个独立的任务单元,然后由分布式部署的执行器分别执行某一个或几个分片单元; -- 2、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动; - +- 1、运行日志读写编码统一,解决windows环境下日志乱码问题; +- 2、通讯超时时间设置为10s,避免异常情况下调度线程占用; +- 3、JettyServer关闭逻辑优化,修复执行器无法正常关闭的问题; +- 4、JobHandler中开启子线程时,支持子线程输出执行日志并通过Rolling查看。 #### TODO LIST - 1、任务并行触发处理规则:单机串行队列(默认)、单机并行、串行忽略、单机覆盖; @@ -816,6 +821,8 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段 - 5、JobHandler开启多线程时,支持记录执行日志; - 6、执行器与数据库解耦,只需配置调度中心集群地址即可(与当前通过JDBC注册自动发现方式,相冲突,待考虑); - 7、任务日志定期清理功能,支持设置日志上限; +- 8、任务分片:一个任务被拆分成N个独立的任务单元,然后由分布式部署的执行器分别执行某一个或几个分片单元; +- 9、任务分片路由:分片采用一致性Hash算法计算出尽量稳定的分片顺序,即使注册机器存在波动也不会引起分批分片顺序大的波动; ## 七、其他 diff --git a/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl b/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl index b827b521..22f72462 100644 --- a/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl +++ b/xxl-job-admin/src/main/webapp/WEB-INF/template/common/common.macro.ftl @@ -81,9 +81,9 @@ diff --git a/xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js b/xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js index 7158647e..3572c381 100644 --- a/xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js +++ b/xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js @@ -143,7 +143,10 @@ $(function() { return data?'查看'+ data +'':"无"; } }, - { "data": 'handleMsg' , "bSortable": false, + { + "data": 'handleMsg' , + "bSortable": false, + "width": "8%" , "render": function ( data, type, row ) { // better support expression or string, not function return function () { diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java b/xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java index 4a58f2e0..538a973e 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/log/XxlJobFileAppender.java @@ -16,8 +16,9 @@ import java.util.Date; public class XxlJobFileAppender { private static Logger logger = LoggerFactory.getLogger(XxlJobFileAppender.class); - // for JobThread - public static ThreadLocal contextHolder = new ThreadLocal(); + // for JobThread (support log for child thread) + //public static ThreadLocal contextHolder = new ThreadLocal(); + public static InheritableThreadLocal contextHolder = new InheritableThreadLocal(); public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); /**