Quellcode durchsuchen

执行日志,支持根据运行 "状态" 筛选日志;

xuxueli vor 8 Jahren
Ursprung
Commit
d46bc28a04

+ 2 - 2
db/tables_xxl_job.sql Datei anzeigen

176
   `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
176
   `executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
177
   `executor_param` varchar(255) DEFAULT NULL COMMENT 'executor_param',
177
   `executor_param` varchar(255) DEFAULT NULL COMMENT 'executor_param',
178
   `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
178
   `trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
179
-  `trigger_code` varchar(255) DEFAULT NULL COMMENT '调度-结果',
179
+  `trigger_code` varchar(255) NOT NULL DEFAULT '0' COMMENT '调度-结果',
180
   `trigger_msg` varchar(2048) DEFAULT NULL COMMENT '调度-日志',
180
   `trigger_msg` varchar(2048) DEFAULT NULL COMMENT '调度-日志',
181
   `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
181
   `handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
182
-  `handle_code` varchar(255) DEFAULT NULL COMMENT '执行-状态',
182
+  `handle_code` varchar(255) NOT NULL DEFAULT '0' COMMENT '执行-状态',
183
   `handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志',
183
   `handle_msg` varchar(2048) DEFAULT NULL COMMENT '执行-日志',
184
   PRIMARY KEY (`id`)
184
   PRIMARY KEY (`id`)
185
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
185
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

+ 3 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java Datei anzeigen

67
 	@ResponseBody
67
 	@ResponseBody
68
 	public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,  
68
 	public Map<String, Object> pageList(@RequestParam(required = false, defaultValue = "0") int start,  
69
 			@RequestParam(required = false, defaultValue = "10") int length,
69
 			@RequestParam(required = false, defaultValue = "10") int length,
70
-			int jobGroup, int jobId, String filterTime) {
70
+			int jobGroup, int jobId, int logStatus, String filterTime) {
71
 		
71
 		
72
 		// parse param
72
 		// parse param
73
 		Date triggerTimeStart = null;
73
 		Date triggerTimeStart = null;
83
 		}
83
 		}
84
 		
84
 		
85
 		// page query
85
 		// page query
86
-		List<XxlJobLog> list = xxlJobLogDao.pageList(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd);
87
-		int list_count = xxlJobLogDao.pageListCount(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd);
86
+		List<XxlJobLog> list = xxlJobLogDao.pageList(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
87
+		int list_count = xxlJobLogDao.pageListCount(start, length, jobGroup, jobId, triggerTimeStart, triggerTimeEnd, logStatus);
88
 		
88
 		
89
 		// package result
89
 		// package result
90
 		Map<String, Object> maps = new HashMap<String, Object>();
90
 		Map<String, Object> maps = new HashMap<String, Object>();

+ 2 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/IXxlJobLogDao.java Datei anzeigen

12
  */
12
  */
13
 public interface IXxlJobLogDao {
13
 public interface IXxlJobLogDao {
14
 	
14
 	
15
-	public List<XxlJobLog> pageList(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd);
16
-	public int pageListCount(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd);
15
+	public List<XxlJobLog> pageList(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd, int logStatus);
16
+	public int pageListCount(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd, int logStatus);
17
 	
17
 	
18
 	public XxlJobLog load(int id);
18
 	public XxlJobLog load(int id);
19
 
19
 

+ 4 - 2
xxl-job-admin/src/main/java/com/xxl/job/admin/dao/impl/XxlJobLogDaoImpl.java Datei anzeigen

22
 	public SqlSessionTemplate sqlSessionTemplate;
22
 	public SqlSessionTemplate sqlSessionTemplate;
23
 
23
 
24
 	@Override
24
 	@Override
25
-	public List<XxlJobLog> pageList(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd) {
25
+	public List<XxlJobLog> pageList(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd, int logStatus) {
26
 		HashMap<String, Object> params = new HashMap<String, Object>();
26
 		HashMap<String, Object> params = new HashMap<String, Object>();
27
 		params.put("offset", offset);
27
 		params.put("offset", offset);
28
 		params.put("pagesize", pagesize);
28
 		params.put("pagesize", pagesize);
30
 		params.put("jobId", jobId);
30
 		params.put("jobId", jobId);
31
 		params.put("triggerTimeStart", triggerTimeStart);
31
 		params.put("triggerTimeStart", triggerTimeStart);
32
 		params.put("triggerTimeEnd", triggerTimeEnd);
32
 		params.put("triggerTimeEnd", triggerTimeEnd);
33
+		params.put("logStatus", logStatus);
33
 		
34
 		
34
 		return sqlSessionTemplate.selectList("XxlJobLogMapper.pageList", params);
35
 		return sqlSessionTemplate.selectList("XxlJobLogMapper.pageList", params);
35
 	}
36
 	}
36
 
37
 
37
 	@Override
38
 	@Override
38
-	public int pageListCount(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd) {
39
+	public int pageListCount(int offset, int pagesize, int jobGroup, int jobId, Date triggerTimeStart, Date triggerTimeEnd, int logStatus) {
39
 		HashMap<String, Object> params = new HashMap<String, Object>();
40
 		HashMap<String, Object> params = new HashMap<String, Object>();
40
 		params.put("offset", offset);
41
 		params.put("offset", offset);
41
 		params.put("pagesize", pagesize);
42
 		params.put("pagesize", pagesize);
43
 		params.put("jobId", jobId);
44
 		params.put("jobId", jobId);
44
 		params.put("triggerTimeStart", triggerTimeStart);
45
 		params.put("triggerTimeStart", triggerTimeStart);
45
 		params.put("triggerTimeEnd", triggerTimeEnd);
46
 		params.put("triggerTimeEnd", triggerTimeEnd);
47
+		params.put("logStatus", logStatus);
46
 		
48
 		
47
 		return sqlSessionTemplate.selectOne("XxlJobLogMapper.pageListCount", params);
49
 		return sqlSessionTemplate.selectOne("XxlJobLogMapper.pageListCount", params);
48
 	}
50
 	}

+ 24 - 0
xxl-job-admin/src/main/resources/mybatis-mapper/XxlJobLogMapper.xml Datei anzeigen

57
 			<if test="triggerTimeEnd != null">
57
 			<if test="triggerTimeEnd != null">
58
 				AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
58
 				AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
59
 			</if>
59
 			</if>
60
+			<if test="logStatus == 1" >
61
+				AND t.handle_code = 200
62
+			</if>
63
+			<if test="logStatus == 2" >
64
+				AND (
65
+					(t.trigger_code <![CDATA[ > ]]> 0 AND t.trigger_code!=200) ||
66
+					(t.handle_code <![CDATA[ > ]]> 0 AND t.handle_code!=200)
67
+				)
68
+			</if>
69
+			<if test="logStatus == 3" >
70
+				AND (t.trigger_code = 200 AND t.handle_code=0)
71
+			</if>
60
 		</trim>
72
 		</trim>
61
 		ORDER BY id DESC
73
 		ORDER BY id DESC
62
 		LIMIT #{offset}, #{pagesize}
74
 		LIMIT #{offset}, #{pagesize}
78
 			<if test="triggerTimeEnd != null">
90
 			<if test="triggerTimeEnd != null">
79
 				AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
91
 				AND t.trigger_time <![CDATA[ <= ]]> #{triggerTimeEnd}
80
 			</if>
92
 			</if>
93
+			<if test="logStatus == 1" >
94
+				AND t.handle_code = 200
95
+			</if>
96
+			<if test="logStatus == 2" >
97
+				AND (
98
+				(t.trigger_code <![CDATA[ > ]]> 0 AND t.trigger_code!=200) ||
99
+				(t.handle_code <![CDATA[ > ]]> 0 AND t.handle_code!=200)
100
+				)
101
+			</if>
102
+			<if test="logStatus == 3" >
103
+				AND (t.trigger_code = 200 AND t.handle_code=0)
104
+			</if>
81
 		</trim>
105
 		</trim>
82
 	</select>
106
 	</select>
83
 	
107
 	

+ 15 - 2
xxl-job-admin/src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl Datei anzeigen

32
 		<!-- Main content -->
32
 		<!-- Main content -->
33
 	    <section class="content">
33
 	    <section class="content">
34
 	    	<div class="row">
34
 	    	<div class="row">
35
-	    		<div class="col-xs-3">
35
+	    		<div class="col-xs-2">
36
  					<div class="input-group">
36
  					<div class="input-group">
37
 	                	<span class="input-group-addon">执行器</span>
37
 	                	<span class="input-group-addon">执行器</span>
38
                 		<select class="form-control" id="jobGroup"  paramVal="<#if jobInfo?exists>${jobInfo.jobGroup}</#if>" >
38
                 		<select class="form-control" id="jobGroup"  paramVal="<#if jobInfo?exists>${jobInfo.jobGroup}</#if>" >
43
 	                  	</select>
43
 	                  	</select>
44
 	              	</div>
44
 	              	</div>
45
 	            </div>
45
 	            </div>
46
-	            <div class="col-xs-3">
46
+	            <div class="col-xs-2">
47
 	              	<div class="input-group">
47
 	              	<div class="input-group">
48
 	                	<span class="input-group-addon">任务</span>
48
 	                	<span class="input-group-addon">任务</span>
49
                         <select class="form-control" id="jobId" paramVal="<#if jobInfo?exists>${jobInfo.id}</#if>" >
49
                         <select class="form-control" id="jobId" paramVal="<#if jobInfo?exists>${jobInfo.id}</#if>" >
51
 						</select>
51
 						</select>
52
 	              	</div>
52
 	              	</div>
53
 	            </div>
53
 	            </div>
54
+
55
+                <div class="col-xs-2">
56
+                    <div class="input-group">
57
+                        <span class="input-group-addon">状态</span>
58
+                        <select class="form-control" id="logStatus" >
59
+                            <option value="-1" >全部</option>
60
+                            <option value="1" >成功</option>
61
+                            <option value="2" >失败</option>
62
+                            <option value="3" >进行中</option>
63
+                        </select>
64
+                    </div>
65
+                </div>
66
+
54
 	            <div class="col-xs-4">
67
 	            <div class="col-xs-4">
55
               		<div class="input-group">
68
               		<div class="input-group">
56
                 		<span class="input-group-addon">
69
                 		<span class="input-group-addon">

+ 1 - 0
xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js Datei anzeigen

78
 	        	var obj = {};
78
 	        	var obj = {};
79
 	        	obj.jobGroup = $('#jobGroup').val();
79
 	        	obj.jobGroup = $('#jobGroup').val();
80
 	        	obj.jobId = $('#jobId').val();
80
 	        	obj.jobId = $('#jobId').val();
81
+                obj.logStatus = $('#logStatus').val();
81
 				obj.filterTime = $('#filterTime').val();
82
 				obj.filterTime = $('#filterTime').val();
82
 	        	obj.start = d.start;
83
 	        	obj.start = d.start;
83
 	        	obj.length = d.length;
84
 	        	obj.length = d.length;