Browse Source

JobThread自销毁优化,避免并发触发导致triggerQueue中任务丢失问题;

xuxueli 5 years ago
parent
commit
b6a19a3289

+ 5 - 4
doc/XXL-JOB官方文档.md

@@ -1546,10 +1546,11 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
 - 8、DB重连优化,修复DB宕机重连后任务调度停止的问题,重连后自动加入调度集群触发任务调度;
 - 9、任务触发组件加载顺序调整,避免小概率情况下组件随机加载顺序导致的I18N的NPE问题。
 - 10、项目依赖升级至较新稳定版本,如spring、spring-boot、mybatis、slf4j、groovy等等;
-- 11、[ING]xxl-rpc服务端线程优化,降低线程内存开销;
-- 12、[ING]Cron在线生成工具;
-- 13、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
-- 14、[ING]父子任务参数传递;流程任务等,透传动态参数;
+- 11、JobThread自销毁优化,避免并发触发导致triggerQueue中任务丢失问题;
+- 12、[ING]xxl-rpc服务端线程优化,降低线程内存开销;
+- 13、[ING]Cron在线生成工具;
+- 14、[ING]调度日志优化:支持设置日志保留天数,过期日志天维度记录报表,并清理;调度报表汇总实时数据和报表;
+- 15、[ING]父子任务参数传递;流程任务等,透传动态参数;
 
 
 

+ 1 - 1
xxl-job-core/src/main/java/com/xxl/job/core/thread/JobThread.java

@@ -165,7 +165,7 @@ public class JobThread extends Thread{
 
 				} else {
 					if (idleTimes > 30) {
-						if(triggerQueue ==null||triggerQueue.size()==0) {
+						if(triggerQueue.size() == 0) {	// avoid concurrent trigger causes jobId-lost
 							XxlJobExecutor.removeJobThread(jobId, "excutor idel times over limit.");
 						}
 					}