Browse Source

任务调度备注中标注任务触发类型,如Cron触发、父任务触发、API触发等等,方便排查调度日志;

xuxueli 7 years ago
parent
commit
473874fd48

+ 2 - 0
doc/XXL-JOB官方文档.md View File

1238
 - 22、新增左侧菜单"运行报表";
1238
 - 22、新增左侧菜单"运行报表";
1239
 - 23、执行器手动设置IP时取消绑定Host的操作,该IP仅供执行器注册使用;修复指定外网IP时无法绑定执行器Host的问题;
1239
 - 23、执行器手动设置IP时取消绑定Host的操作,该IP仅供执行器注册使用;修复指定外网IP时无法绑定执行器Host的问题;
1240
 - 24、取消父子任务不可重复的限制,支持循环任务触发等特殊场景;
1240
 - 24、取消父子任务不可重复的限制,支持循环任务触发等特殊场景;
1241
+- 25、任务调度备注中标注任务触发类型,如Cron触发、父任务触发、API触发等等,方便排查调度日志;
1242
+- 26、【迭代中】分片任务失败重试优化,仅重试当前失败的分片;
1241
 
1243
 
1242
 
1244
 
1243
 ### TODO LIST
1245
 ### TODO LIST

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobInfoController.java View File

4
 import com.xxl.job.admin.core.model.XxlJobInfo;
4
 import com.xxl.job.admin.core.model.XxlJobInfo;
5
 import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
5
 import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
6
 import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
6
 import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
7
+import com.xxl.job.admin.core.util.I18nUtil;
7
 import com.xxl.job.admin.dao.XxlJobGroupDao;
8
 import com.xxl.job.admin.dao.XxlJobGroupDao;
8
 import com.xxl.job.admin.service.XxlJobService;
9
 import com.xxl.job.admin.service.XxlJobService;
9
 import com.xxl.job.core.biz.model.ReturnT;
10
 import com.xxl.job.core.biz.model.ReturnT;
90
 	@RequestMapping("/trigger")
91
 	@RequestMapping("/trigger")
91
 	@ResponseBody
92
 	@ResponseBody
92
 	public ReturnT<String> triggerJob(int id) {
93
 	public ReturnT<String> triggerJob(int id) {
93
-		JobTriggerPoolHelper.trigger(id, -1);
94
+		JobTriggerPoolHelper.trigger(id, -1, I18nUtil.getString("jobconf_trigger_type_manual"));
94
 		return ReturnT.SUCCESS;
95
 		return ReturnT.SUCCESS;
95
 	}
96
 	}
96
 	
97
 	

+ 0 - 3
xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java View File

11
 import com.xxl.job.core.biz.ExecutorBiz;
11
 import com.xxl.job.core.biz.ExecutorBiz;
12
 import com.xxl.job.core.biz.model.LogResult;
12
 import com.xxl.job.core.biz.model.LogResult;
13
 import com.xxl.job.core.biz.model.ReturnT;
13
 import com.xxl.job.core.biz.model.ReturnT;
14
-import com.xxl.job.core.glue.GlueTypeEnum;
15
-import com.xxl.job.core.rpc.netcom.NetComClientProxy;
16
 import org.apache.commons.lang3.StringUtils;
14
 import org.apache.commons.lang3.StringUtils;
17
 import org.apache.commons.lang3.time.DateUtils;
15
 import org.apache.commons.lang3.time.DateUtils;
18
 import org.slf4j.Logger;
16
 import org.slf4j.Logger;
52
 		// 执行器列表
50
 		// 执行器列表
53
 		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
51
 		List<XxlJobGroup> jobGroupList =  xxlJobGroupDao.findAll();
54
 		model.addAttribute("JobGroupList", jobGroupList);
52
 		model.addAttribute("JobGroupList", jobGroupList);
55
-		model.addAttribute("GlueTypeEnum", GlueTypeEnum.values());
56
 
53
 
57
 		// 任务
54
 		// 任务
58
 		if (jobId > 0) {
55
 		if (jobId > 0) {

+ 2 - 1
xxl-job-admin/src/main/java/com/xxl/job/admin/core/jobbean/RemoteHttpJobBean.java View File

1
 package com.xxl.job.admin.core.jobbean;
1
 package com.xxl.job.admin.core.jobbean;
2
 
2
 
3
 import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
3
 import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
4
+import com.xxl.job.admin.core.util.I18nUtil;
4
 import org.quartz.JobExecutionContext;
5
 import org.quartz.JobExecutionContext;
5
 import org.quartz.JobExecutionException;
6
 import org.quartz.JobExecutionException;
6
 import org.quartz.JobKey;
7
 import org.quartz.JobKey;
27
 
28
 
28
 		// trigger
29
 		// trigger
29
 		//XxlJobTrigger.trigger(jobId);
30
 		//XxlJobTrigger.trigger(jobId);
30
-		JobTriggerPoolHelper.trigger(jobId, -1);
31
+		JobTriggerPoolHelper.trigger(jobId, -1, I18nUtil.getString("jobconf_trigger_type_cron"));
31
 	}
32
 	}
32
 
33
 
33
 }
34
 }

+ 22 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobFailMonitorHelper.java View File

65
 								} else /*if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
65
 								} else /*if (IJobHandler.FAIL.getCode() == log.getTriggerCode()
66
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
66
 										|| IJobHandler.FAIL.getCode() == log.getHandleCode()
67
 										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() )*/ {
67
 										|| IJobHandler.FAIL_RETRY.getCode() == log.getHandleCode() )*/ {
68
+
68
 									// job fail,
69
 									// job fail,
69
-									failAlarm(log);
70
+
71
+									// 1、fail retry
72
+									XxlJobInfo info = XxlJobDynamicScheduler.xxlJobInfoDao.loadById(log.getJobId());
73
+
74
+									if (log.getExecutorFailRetryCount() > 0) {
75
+
76
+										// TODO,分片任务失败重试优化,仅重试失败分片
77
+
78
+										JobTriggerPoolHelper.trigger(log.getJobId(), (log.getExecutorFailRetryCount()-1), I18nUtil.getString("jobconf_trigger_type_retry"));
79
+										String retryMsg = "<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_fail_trigger_retry") +"<<<<<<<<<<< </span><br>";
80
+										log.setTriggerMsg(log.getTriggerMsg() + retryMsg);
81
+										XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(log);
82
+									}
83
+
84
+									// 2、fail alarm
85
+									failAlarm(info, log);
86
+
70
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
87
 									logger.info(">>>>>>>>>>> job monitor, job fail, JobLogId:{}", jobLogId);
71
 								}/* else {
88
 								}/* else {
72
 									JobFailMonitorHelper.monitor(jobLogId);
89
 									JobFailMonitorHelper.monitor(jobLogId);
89
 						XxlJobLog log = XxlJobDynamicScheduler.xxlJobLogDao.load(jobLogId);
106
 						XxlJobLog log = XxlJobDynamicScheduler.xxlJobLogDao.load(jobLogId);
90
 						if (ReturnT.FAIL_CODE == log.getTriggerCode()|| ReturnT.FAIL_CODE==log.getHandleCode()) {
107
 						if (ReturnT.FAIL_CODE == log.getTriggerCode()|| ReturnT.FAIL_CODE==log.getHandleCode()) {
91
 							// job fail,
108
 							// job fail,
92
-							failAlarm(log);
109
+							XxlJobInfo info = XxlJobDynamicScheduler.xxlJobInfoDao.loadById(log.getJobId());
110
+
111
+							failAlarm(info, log);
93
 							logger.info(">>>>>>>>>>> job monitor last, job fail, JobLogId:{}", jobLogId);
112
 							logger.info(">>>>>>>>>>> job monitor last, job fail, JobLogId:{}", jobLogId);
94
 						}
113
 						}
95
 					}
114
 					}
148
 	 *
167
 	 *
149
 	 * @param jobLog
168
 	 * @param jobLog
150
 	 */
169
 	 */
151
-	private void failAlarm(XxlJobLog jobLog){
170
+	private void failAlarm(XxlJobInfo info, XxlJobLog jobLog){
152
 
171
 
153
 		// send monitor email
172
 		// send monitor email
154
-		XxlJobInfo info = XxlJobDynamicScheduler.xxlJobInfoDao.loadById(jobLog.getJobId());
155
 		if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
173
 		if (info!=null && info.getAlarmEmail()!=null && info.getAlarmEmail().trim().length()>0) {
156
 
174
 
157
 			String alarmContent = "Alarm Job LogId=" + jobLog.getId();
175
 			String alarmContent = "Alarm Job LogId=" + jobLog.getId();

+ 4 - 4
xxl-job-admin/src/main/java/com/xxl/job/admin/core/thread/JobTriggerPoolHelper.java View File

28
             new ThreadPoolExecutor.CallerRunsPolicy());
28
             new ThreadPoolExecutor.CallerRunsPolicy());
29
 
29
 
30
 
30
 
31
-    public void addTrigger(final int jobId, final int failRetryCount){
31
+    public void addTrigger(final int jobId, final int failRetryCount, final String type){
32
         triggerPool.execute(new Runnable() {
32
         triggerPool.execute(new Runnable() {
33
             @Override
33
             @Override
34
             public void run() {
34
             public void run() {
35
-                XxlJobTrigger.trigger(jobId, failRetryCount);
35
+                XxlJobTrigger.trigger(jobId, failRetryCount, type);
36
             }
36
             }
37
         });
37
         });
38
     }
38
     }
55
      * 			<0: use param from job info config
55
      * 			<0: use param from job info config
56
      *
56
      *
57
      */
57
      */
58
-    public static void trigger(int jobId, int failRetryCount) {
59
-        helper.addTrigger(jobId, failRetryCount);
58
+    public static void trigger(int jobId, int failRetryCount, String type) {
59
+        helper.addTrigger(jobId, failRetryCount, type);
60
     }
60
     }
61
 
61
 
62
     public static void toStop(){
62
     public static void toStop(){

+ 6 - 24
xxl-job-admin/src/main/java/com/xxl/job/admin/core/trigger/XxlJobTrigger.java View File

6
 import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
6
 import com.xxl.job.admin.core.route.ExecutorRouteStrategyEnum;
7
 import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
7
 import com.xxl.job.admin.core.schedule.XxlJobDynamicScheduler;
8
 import com.xxl.job.admin.core.thread.JobFailMonitorHelper;
8
 import com.xxl.job.admin.core.thread.JobFailMonitorHelper;
9
-import com.xxl.job.admin.core.thread.JobTriggerPoolHelper;
10
 import com.xxl.job.admin.core.util.I18nUtil;
9
 import com.xxl.job.admin.core.util.I18nUtil;
11
 import com.xxl.job.core.biz.ExecutorBiz;
10
 import com.xxl.job.core.biz.ExecutorBiz;
12
 import com.xxl.job.core.biz.model.ReturnT;
11
 import com.xxl.job.core.biz.model.ReturnT;
36
      * 			<0: use param from job info config
35
      * 			<0: use param from job info config
37
      *
36
      *
38
      */
37
      */
39
-    public static void trigger(int jobId, int failRetryCount) {
38
+    public static void trigger(int jobId, int failRetryCount, String type) {
40
 
39
 
41
         // load data
40
         // load data
42
         XxlJobInfo jobInfo = XxlJobDynamicScheduler.xxlJobInfoDao.loadById(jobId);              // job info
41
         XxlJobInfo jobInfo = XxlJobDynamicScheduler.xxlJobInfoDao.loadById(jobId);              // job info
57
 
56
 
58
         // broadcast
57
         // broadcast
59
         if (ExecutorRouteStrategyEnum.SHARDING_BROADCAST == executorRouteStrategyEnum && CollectionUtils.isNotEmpty(addressList)) {
58
         if (ExecutorRouteStrategyEnum.SHARDING_BROADCAST == executorRouteStrategyEnum && CollectionUtils.isNotEmpty(addressList)) {
60
-            boolean onceFailed = false;
61
             for (int i = 0; i < addressList.size(); i++) {
59
             for (int i = 0; i < addressList.size(); i++) {
62
                 String address = addressList.get(i);
60
                 String address = addressList.get(i);
63
 
61
 
77
 
75
 
78
                 ReturnT<String> triggerResult = new ReturnT<String>(null);
76
                 ReturnT<String> triggerResult = new ReturnT<String>(null);
79
                 StringBuffer triggerMsgSb = new StringBuffer();
77
                 StringBuffer triggerMsgSb = new StringBuffer();
78
+                triggerMsgSb.append(I18nUtil.getString("jobconf_trigger_type")).append(":").append(type);
80
                 triggerMsgSb.append(I18nUtil.getString("jobconf_trigger_admin_adress")).append(":").append(IpUtil.getIp());
79
                 triggerMsgSb.append(I18nUtil.getString("jobconf_trigger_admin_adress")).append(":").append(IpUtil.getIp());
81
                 triggerMsgSb.append("<br>").append(I18nUtil.getString("jobconf_trigger_exe_regtype")).append(":")
80
                 triggerMsgSb.append("<br>").append(I18nUtil.getString("jobconf_trigger_exe_regtype")).append(":")
82
                         .append( (group.getAddressType() == 0)?I18nUtil.getString("jobgroup_field_addressType_0"):I18nUtil.getString("jobgroup_field_addressType_1") );
81
                         .append( (group.getAddressType() == 0)?I18nUtil.getString("jobgroup_field_addressType_0"):I18nUtil.getString("jobgroup_field_addressType_1") );
106
                 triggerResult = runExecutor(triggerParam, address);     // update03
105
                 triggerResult = runExecutor(triggerParam, address);     // update03
107
                 triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_run") +"<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
106
                 triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_trigger_run") +"<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
108
 
107
 
109
-
110
-                // 4、fail retry)
111
-                if (triggerResult.getCode()!=ReturnT.SUCCESS_CODE) {
112
-                    onceFailed = true;
113
-                }
114
-
115
-                if (addressList.size()==i+1 && onceFailed && finalFailRetryCount > 0) {     // each trigger only retry once
116
-                    JobTriggerPoolHelper.trigger(jobId, (finalFailRetryCount-1));
117
-                    triggerMsgSb.append("<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_fail_trigger_retry") +"<<<<<<<<<<< </span><br>");
118
-                }
119
-
120
-                // 5、save trigger-info
108
+                // 4、save trigger-info
121
                 jobLog.setExecutorAddress(triggerResult.getContent());
109
                 jobLog.setExecutorAddress(triggerResult.getContent());
122
                 jobLog.setTriggerCode(triggerResult.getCode());
110
                 jobLog.setTriggerCode(triggerResult.getCode());
123
                 jobLog.setTriggerMsg(triggerMsgSb.toString());
111
                 jobLog.setTriggerMsg(triggerMsgSb.toString());
124
                 XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
112
                 XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
125
 
113
 
126
-                // 6、monitor trigger
114
+                // 5、monitor trigger
127
                 JobFailMonitorHelper.monitor(jobLog.getId());
115
                 JobFailMonitorHelper.monitor(jobLog.getId());
128
                 logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
116
                 logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
129
 
117
 
182
 
170
 
183
             }
171
             }
184
 
172
 
185
-            // 4、fail retry
186
-            if (triggerResult.getCode()!=ReturnT.SUCCESS_CODE && finalFailRetryCount > 0) {
187
-                JobTriggerPoolHelper.trigger(jobId, (finalFailRetryCount-1));
188
-                triggerMsgSb.append("<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_fail_trigger_retry") +"<<<<<<<<<<< </span><br>");
189
-            }
190
-
191
-            // 5、save trigger-info
173
+            // 4、save trigger-info
192
             jobLog.setExecutorAddress(triggerResult.getContent());
174
             jobLog.setExecutorAddress(triggerResult.getContent());
193
             jobLog.setTriggerCode(triggerResult.getCode());
175
             jobLog.setTriggerCode(triggerResult.getCode());
194
             jobLog.setTriggerMsg(triggerMsgSb.toString());
176
             jobLog.setTriggerMsg(triggerMsgSb.toString());
195
             XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
177
             XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
196
 
178
 
197
-            // 6、monitor trigger
179
+            // 5、monitor trigger
198
             JobFailMonitorHelper.monitor(jobLog.getId());
180
             JobFailMonitorHelper.monitor(jobLog.getId());
199
             logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
181
             logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
200
         }
182
         }

+ 2 - 15
xxl-job-admin/src/main/java/com/xxl/job/admin/service/impl/AdminBizImpl.java View File

7
 import com.xxl.job.admin.dao.XxlJobInfoDao;
7
 import com.xxl.job.admin.dao.XxlJobInfoDao;
8
 import com.xxl.job.admin.dao.XxlJobLogDao;
8
 import com.xxl.job.admin.dao.XxlJobLogDao;
9
 import com.xxl.job.admin.dao.XxlJobRegistryDao;
9
 import com.xxl.job.admin.dao.XxlJobRegistryDao;
10
-import com.xxl.job.admin.service.XxlJobService;
11
 import com.xxl.job.core.biz.AdminBiz;
10
 import com.xxl.job.core.biz.AdminBiz;
12
 import com.xxl.job.core.biz.model.HandleCallbackParam;
11
 import com.xxl.job.core.biz.model.HandleCallbackParam;
13
 import com.xxl.job.core.biz.model.RegistryParam;
12
 import com.xxl.job.core.biz.model.RegistryParam;
36
     private XxlJobInfoDao xxlJobInfoDao;
35
     private XxlJobInfoDao xxlJobInfoDao;
37
     @Resource
36
     @Resource
38
     private XxlJobRegistryDao xxlJobRegistryDao;
37
     private XxlJobRegistryDao xxlJobRegistryDao;
39
-    @Resource
40
-    private XxlJobService xxlJobService;
41
 
38
 
42
 
39
 
43
     @Override
40
     @Override
73
                     int childJobId = (StringUtils.isNotBlank(childJobIds[i]) && StringUtils.isNumeric(childJobIds[i]))?Integer.valueOf(childJobIds[i]):-1;
70
                     int childJobId = (StringUtils.isNotBlank(childJobIds[i]) && StringUtils.isNumeric(childJobIds[i]))?Integer.valueOf(childJobIds[i]):-1;
74
                     if (childJobId > 0) {
71
                     if (childJobId > 0) {
75
 
72
 
76
-                        JobTriggerPoolHelper.trigger(childJobId, 0);
73
+                        JobTriggerPoolHelper.trigger(childJobId, 0, I18nUtil.getString("jobconf_trigger_type_parent"));
77
                         ReturnT<String> triggerChildResult = ReturnT.SUCCESS;
74
                         ReturnT<String> triggerChildResult = ReturnT.SUCCESS;
78
 
75
 
79
                         // add msg
76
                         // add msg
92
                 }
89
                 }
93
 
90
 
94
             }
91
             }
95
-        } else {
96
-            if (log.getExecutorFailRetryCount() > 0) {
97
-                int nextFailRetryCount = log.getExecutorFailRetryCount()-1;
98
-
99
-                // TODO,广播路由的失败重试,会导致重试暴增,需要优化
100
-
101
-                JobTriggerPoolHelper.trigger(log.getJobId(), nextFailRetryCount);
102
-
103
-                callbackMsg = "<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>"+ I18nUtil.getString("jobconf_fail_handle_retry") +"<<<<<<<<<<< </span><br>";
104
-            }
105
         }
92
         }
106
 
93
 
107
         // handle msg
94
         // handle msg
142
 
129
 
143
     @Override
130
     @Override
144
     public ReturnT<String> triggerJob(int jobId) {
131
     public ReturnT<String> triggerJob(int jobId) {
145
-        JobTriggerPoolHelper.trigger(jobId, -1);
132
+        JobTriggerPoolHelper.trigger(jobId, -1, I18nUtil.getString("jobconf_trigger_type_api"));
146
         return ReturnT.SUCCESS;
133
         return ReturnT.SUCCESS;
147
     }
134
     }
148
 
135
 

+ 6 - 0
xxl-job-admin/src/main/resources/i18n/message.properties View File

224
 jobconf_trigger_child_run=触发子任务
224
 jobconf_trigger_child_run=触发子任务
225
 jobconf_callback_child_msg1={0}/{1} [任务ID={2}], 触发{3}, 触发备注: {4} <br>
225
 jobconf_callback_child_msg1={0}/{1} [任务ID={2}], 触发{3}, 触发备注: {4} <br>
226
 jobconf_callback_child_msg2={0}/{1} [任务ID={2}], 触发失败, 触发备注: 任务ID格式错误 <br>
226
 jobconf_callback_child_msg2={0}/{1} [任务ID={2}], 触发失败, 触发备注: 任务ID格式错误 <br>
227
+jobconf_trigger_type=任务触发类型
228
+jobconf_trigger_type_cron=Cron触发
229
+jobconf_trigger_type_manual=手动触发
230
+jobconf_trigger_type_parent=父任务触发
231
+jobconf_trigger_type_api=API触发
232
+jobconf_trigger_type_retry=失败重试触发
227
 
233
 
228
 ## help
234
 ## help
229
 job_help=使用教程
235
 job_help=使用教程

+ 6 - 0
xxl-job-admin/src/main/resources/i18n/message_en.properties View File

224
 jobconf_trigger_child_run=Trigger child job
224
 jobconf_trigger_child_run=Trigger child job
225
 jobconf_callback_child_msg1={0}/{1} [Job ID={2}], Trigger {3}, Trigger msg: {4} <br>
225
 jobconf_callback_child_msg1={0}/{1} [Job ID={2}], Trigger {3}, Trigger msg: {4} <br>
226
 jobconf_callback_child_msg2={0}/{1} [Job ID={2}], Trigger Fail, Trigger msg: Job ID is illegal <br>
226
 jobconf_callback_child_msg2={0}/{1} [Job ID={2}], Trigger Fail, Trigger msg: Job ID is illegal <br>
227
+jobconf_trigger_type=Job trigger type
228
+jobconf_trigger_type_cron=Cron trigger
229
+jobconf_trigger_type_manual=Manual trigger
230
+jobconf_trigger_type_parent=Parent job trigger
231
+jobconf_trigger_type_api=Api trigger
232
+jobconf_trigger_type_retry=Fail retry trigger
227
 
233
 
228
 ## help
234
 ## help
229
 job_help=Tutorial
235
 job_help=Tutorial

+ 0 - 6
xxl-job-admin/src/main/webapp/WEB-INF/template/joblog/joblog.index.ftl View File

167
 </div>
167
 </div>
168
 
168
 
169
 <@netCommon.commonScript />
169
 <@netCommon.commonScript />
170
-<script>
171
-    var GlueTypeEnum = {};
172
-    <#list GlueTypeEnum as item>
173
-    GlueTypeEnum['${item}'] = '${item.desc}';
174
-    </#list>
175
-</script>
176
 <!-- DataTables -->
170
 <!-- DataTables -->
177
 <script src="${request.contextPath}/static/adminlte/plugins/datatables/jquery.dataTables.min.js"></script>
171
 <script src="${request.contextPath}/static/adminlte/plugins/datatables/jquery.dataTables.min.js"></script>
178
 <script src="${request.contextPath}/static/adminlte/plugins/datatables/dataTables.bootstrap.min.js"></script>
172
 <script src="${request.contextPath}/static/adminlte/plugins/datatables/dataTables.bootstrap.min.js"></script>

+ 0 - 6
xxl-job-admin/src/main/webapp/static/js/joblog.index.1.js View File

98
                         "width":'10%',
98
                         "width":'10%',
99
 						"render": function ( data, type, row ) {
99
 						"render": function ( data, type, row ) {
100
 
100
 
101
-                            var glueTypeTitle = GlueTypeEnum[row.glueType];
102
-                            if (row.executorHandler) {
103
-                                glueTypeTitle = glueTypeTitle +":" + row.executorHandler;
104
-                            }
105
-
106
 							var temp = '';
101
 							var temp = '';
107
 							temp += I18n.joblog_field_executorAddress + ':' + (row.executorAddress?row.executorAddress:'');
102
 							temp += I18n.joblog_field_executorAddress + ':' + (row.executorAddress?row.executorAddress:'');
108
-							temp += '<br>'+ I18n.jobinfo_field_gluetype +':' + glueTypeTitle;
109
 							temp += '<br>'+ I18n.jobinfo_field_executorparam +':' + row.executorParam;
103
 							temp += '<br>'+ I18n.jobinfo_field_executorparam +':' + row.executorParam;
110
 
104
 
111
 							return '<a class="logTips" href="javascript:;" >'+ row.jobId +'<span style="display:none;">'+ temp +'</span></a>';
105
 							return '<a class="logTips" href="javascript:;" >'+ row.jobId +'<span style="display:none;">'+ temp +'</span></a>';

+ 0 - 2
xxl-job-admin/src/test/java/com/xxl/job/admin/dao/XxlJobLogDaoTest.java View File

1
 package com.xxl.job.admin.dao;
1
 package com.xxl.job.admin.dao;
2
 
2
 
3
 import com.xxl.job.admin.core.model.XxlJobLog;
3
 import com.xxl.job.admin.core.model.XxlJobLog;
4
-import com.xxl.job.admin.dao.XxlJobLogDao;
5
 import org.apache.commons.lang3.time.DateUtils;
4
 import org.apache.commons.lang3.time.DateUtils;
6
 import org.junit.Test;
5
 import org.junit.Test;
7
 import org.junit.runner.RunWith;
6
 import org.junit.runner.RunWith;
32
         int ret1 = xxlJobLogDao.save(log);
31
         int ret1 = xxlJobLogDao.save(log);
33
         XxlJobLog dto = xxlJobLogDao.load(log.getId());
32
         XxlJobLog dto = xxlJobLogDao.load(log.getId());
34
 
33
 
35
-        log.setGlueType("1");
36
         log.setTriggerTime(new Date());
34
         log.setTriggerTime(new Date());
37
         log.setTriggerCode(1);
35
         log.setTriggerCode(1);
38
         log.setTriggerMsg("1");
36
         log.setTriggerMsg("1");