Przeglądaj źródła

修复任务监控线程无法监控任务触发和执行状态均未0的问题

xuxueli 7 lat temu
rodzic
commit
440116e67e

+ 7 - 2
doc/XXL-JOB官方文档.md Wyświetl plik

@@ -1020,8 +1020,10 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1020 1020
 
1021 1021
 ### 6.20 版本 V1.9.0 特性[迭代中]
1022 1022
 - 1、新增任务运行模式 "GLUE模式(NodeJS) ",支持NodeJS脚本任务;
1023
-- 2、修复任务监控线程被耗时任务阻塞的问题;
1024
-- 3、失败告警策略扩展:默认提供邮件失败告警,可扩展短信等,扩展代码位置为 "JobFailMonitorHelper.failAlarm";
1023
+- 2、失败告警策略扩展:默认提供邮件失败告警,可扩展短信等,扩展代码位置为 "JobFailMonitorHelper.failAlarm";
1024
+- 3、修复任务监控线程被耗时任务阻塞的问题;
1025
+- 4、修复任务监控线程无法监控任务触发和执行状态均未0的问题;
1026
+
1025 1027
 
1026 1028
 ### TODO LIST
1027 1029
 - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
@@ -1036,6 +1038,9 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
1036 1038
 - 10、任务类方法"IJobHandler.execute"的参数类型改为"string",进一步方便参数传递;任务注解和任务类统一并改为"JobHandler"";
1037 1039
 - 11、任务日志,记录发起调度的机器信息;
1038 1040
 - 12、任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
1041
+- 13、执行器Log清理功能:调度中心Log删除时同步删除执行器中的Log文件;
1042
+- 14、脚本任务 Shell、Python和Nodejs,如何友好获取分片参数;
1043
+- 15、Bean模式任务,JobHandler自动从执行器中查询展示为下拉框,选择后自动填充任务名称等属性;
1039 1044
 
1040 1045
 ## 七、其他
1041 1046
 

+ 5 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java Wyświetl plik

@@ -54,15 +54,16 @@ public class JobFailMonitorHelper {
54 54
 								if (ReturnT.SUCCESS_CODE == log.getTriggerCode() && log.getHandleCode() == 0) {
55 55
 									JobFailMonitorHelper.monitor(jobLogId);
56 56
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
57
-								}
58
-								if (ReturnT.SUCCESS_CODE == log.getTriggerCode() && ReturnT.SUCCESS_CODE == log.getHandleCode()) {
57
+								} else if (ReturnT.SUCCESS_CODE == log.getTriggerCode() && ReturnT.SUCCESS_CODE == log.getHandleCode()) {
59 58
 									// job success, pass
60 59
 									logger.info(">>>>>>>>>>> job monitor, job success, JobLogId:{}", jobLogId);
61
-								}
62
-								if (ReturnT.FAIL_CODE == log.getTriggerCode() || ReturnT.FAIL_CODE == log.getHandleCode()) {
60
+								} else if (ReturnT.FAIL_CODE == log.getTriggerCode() || ReturnT.FAIL_CODE == log.getHandleCode()) {
63 61
 									// job fail,
64 62
 									failAlarm(log);
65 63
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
64
+								} else {
65
+									JobFailMonitorHelper.monitor(jobLogId);
66
+									logger.info(">>>>>>>>>>> job monitor, job unknown, JobLogId:{}", jobLogId);
66 67
 								}
67 68
 							}
68 69
 						}