xueli.xue před 10 roky
rodič
revize
743fef2034

+ 9 - 1
xxl-job-admin/src/main/java/com/xxl/job/service/job/HttpJobBean.java Zobrazit soubor

8
 import org.apache.commons.lang.StringUtils;
8
 import org.apache.commons.lang.StringUtils;
9
 import org.quartz.JobExecutionContext;
9
 import org.quartz.JobExecutionContext;
10
 import org.quartz.JobExecutionException;
10
 import org.quartz.JobExecutionException;
11
+import org.quartz.impl.triggers.CronTriggerImpl;
11
 import org.slf4j.Logger;
12
 import org.slf4j.Logger;
12
 import org.slf4j.LoggerFactory;
13
 import org.slf4j.LoggerFactory;
13
 import org.springframework.scheduling.quartz.QuartzJobBean;
14
 import org.springframework.scheduling.quartz.QuartzJobBean;
40
 			}
41
 			}
41
 		}
42
 		}
42
 		
43
 		
44
+		// corn
45
+		String cornExp = null;
46
+		if (context.getTrigger() instanceof CronTriggerImpl) {
47
+			CronTriggerImpl trigger = (CronTriggerImpl) context.getTrigger();
48
+			cornExp = trigger.getCronExpression();
49
+		}
50
+		
43
 		// save log
51
 		// save log
44
 		XxlJobLog jobLog = new XxlJobLog();
52
 		XxlJobLog jobLog = new XxlJobLog();
45
 		jobLog.setJobName(triggerKey);
53
 		jobLog.setJobName(triggerKey);
46
-		jobLog.setJobCron(null);
54
+		jobLog.setJobCron(cornExp);
47
 		jobLog.setJobClass(HttpJobBean.class.getName());
55
 		jobLog.setJobClass(HttpJobBean.class.getName());
48
 		jobLog.setJobData(JacksonUtil.writeValueAsString(params));
56
 		jobLog.setJobData(JacksonUtil.writeValueAsString(params));
49
 		DynamicSchedulerUtil.xxlJobLogDao.save(jobLog);
57
 		DynamicSchedulerUtil.xxlJobLogDao.save(jobLog);

+ 11 - 5
xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js Zobrazit soubor

16
 	    "columns": [
16
 	    "columns": [
17
 	                { "data": 'id', "bSortable": false, "visible" : false},
17
 	                { "data": 'id', "bSortable": false, "visible" : false},
18
 	                { "data": 'jobName', "bSortable": false},
18
 	                { "data": 'jobName', "bSortable": false},
19
-	                { "data": 'jobCron', "bSortable": false},
20
-	                { "data": 'jobClass', "bSortable": false},
21
-	                { "data": 'jobData', "bSortable": false},
19
+	                { "data": 'jobCron', "bSortable": false, "visible" : false},
20
+	                { "data": 'jobClass', "bSortable": false, "visible" : false},
21
+	                { "data": 'jobData', "bSortable": false, "visible" : false},
22
 	                { 
22
 	                { 
23
 	                	"data": 'triggerTime', 
23
 	                	"data": 'triggerTime', 
24
 	                	"bSortable": false, 
24
 	                	"bSortable": false, 
25
 	                	"render": function ( data, type, row ) {
25
 	                	"render": function ( data, type, row ) {
26
-	                		return moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss");
26
+	                		return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";
27
 	                	}
27
 	                	}
28
 	                },
28
 	                },
29
 	                { "data": 'triggerStatus', "bSortable": false},
29
 	                { "data": 'triggerStatus', "bSortable": false},
30
 	                { "data": 'triggerMsg',"bSortable": false},
30
 	                { "data": 'triggerMsg',"bSortable": false},
31
-	                { "data": 'handleTime',"bSortable": false},
31
+	                { 
32
+	                	"data": 'handleTime',
33
+	                	"bSortable": false,
34
+	                	"render": function ( data, type, row ) {
35
+	                		return data?moment(new Date(data)).format("YYYY-MM-DD HH:mm:ss"):"";
36
+	                	}
37
+	                },
32
 	                { "data": 'handleStatus',"bSortable": false},
38
 	                { "data": 'handleStatus',"bSortable": false},
33
 	                { "data": 'handleMsg' , "bSortable": false}
39
 	                { "data": 'handleMsg' , "bSortable": false}
34
 	            ],
40
 	            ],

+ 1 - 1
xxl-job-client/src/main/java/com/xxl/job/client/handler/HandlerRepository.java Zobrazit soubor

94
 							new Object[]{handlerData, _status, _msg, callback_response, this});
94
 							new Object[]{handlerData, _status, _msg, callback_response, this});
95
 				} else {
95
 				} else {
96
 					try {
96
 					try {
97
-						TimeUnit.SECONDS.sleep(1);
97
+						TimeUnit.MILLISECONDS.sleep(200);
98
 					} catch (InterruptedException e) {
98
 					} catch (InterruptedException e) {
99
 						e.printStackTrace();
99
 						e.printStackTrace();
100
 					}
100
 					}