瀏覽代碼

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

xuxueli 7 年之前
父節點
當前提交
440116e67e

+ 7 - 2
doc/XXL-JOB官方文档.md 查看文件

1020
 
1020
 
1021
 ### 6.20 版本 V1.9.0 特性[迭代中]
1021
 ### 6.20 版本 V1.9.0 特性[迭代中]
1022
 - 1、新增任务运行模式 "GLUE模式(NodeJS) ",支持NodeJS脚本任务;
1022
 - 1、新增任务运行模式 "GLUE模式(NodeJS) ",支持NodeJS脚本任务;
1023
-- 2、修复任务监控线程被耗时任务阻塞的问题;
1024
-- 3、失败告警策略扩展:默认提供邮件失败告警,可扩展短信等,扩展代码位置为 "JobFailMonitorHelper.failAlarm";
1023
+- 2、失败告警策略扩展:默认提供邮件失败告警,可扩展短信等,扩展代码位置为 "JobFailMonitorHelper.failAlarm";
1024
+- 3、修复任务监控线程被耗时任务阻塞的问题;
1025
+- 4、修复任务监控线程无法监控任务触发和执行状态均未0的问题;
1026
+
1025
 
1027
 
1026
 ### TODO LIST
1028
 ### TODO LIST
1027
 - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
1029
 - 1、任务权限管理:执行器为粒度分配权限,核心操作校验权限;
1036
 - 10、任务类方法"IJobHandler.execute"的参数类型改为"string",进一步方便参数传递;任务注解和任务类统一并改为"JobHandler"";
1038
 - 10、任务类方法"IJobHandler.execute"的参数类型改为"string",进一步方便参数传递;任务注解和任务类统一并改为"JobHandler"";
1037
 - 11、任务日志,记录发起调度的机器信息;
1039
 - 11、任务日志,记录发起调度的机器信息;
1038
 - 12、任务告警逻辑调整:任务调度,以及任务回调失败时,均推送监控队列。后期考虑通过任务Log字段控制告警状态;
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 查看文件

54
 								if (ReturnT.SUCCESS_CODE == log.getTriggerCode() && log.getHandleCode() == 0) {
54
 								if (ReturnT.SUCCESS_CODE == log.getTriggerCode() && log.getHandleCode() == 0) {
55
 									JobFailMonitorHelper.monitor(jobLogId);
55
 									JobFailMonitorHelper.monitor(jobLogId);
56
 									logger.info(">>>>>>>>>>> job monitor, job running, JobLogId:{}", jobLogId);
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
 									// job success, pass
58
 									// job success, pass
60
 									logger.info(">>>>>>>>>>> job monitor, job success, JobLogId:{}", jobLogId);
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
 									// job fail,
61
 									// job fail,
64
 									failAlarm(log);
62
 									failAlarm(log);
65
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
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
 						}