|
|
|
|
117
|
logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
|
117
|
logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
|
118
|
|
118
|
|
119
|
}
|
119
|
}
|
120
|
- return;
|
|
|
121
|
- }
|
|
|
122
|
-
|
|
|
123
|
- // 1、save log-id
|
|
|
124
|
- XxlJobLog jobLog = new XxlJobLog();
|
|
|
125
|
- jobLog.setJobGroup(jobInfo.getJobGroup());
|
|
|
126
|
- jobLog.setJobId(jobInfo.getId());
|
|
|
127
|
- XxlJobDynamicScheduler.xxlJobLogDao.save(jobLog);
|
|
|
128
|
- logger.debug(">>>>>>>>>>> xxl-job trigger start, jobId:{}", jobLog.getId());
|
|
|
129
|
-
|
|
|
130
|
- // 2、prepare trigger-info
|
|
|
131
|
- //jobLog.setExecutorAddress(executorAddress);
|
|
|
132
|
- jobLog.setGlueType(jobInfo.getGlueType());
|
|
|
133
|
- jobLog.setExecutorHandler(jobInfo.getExecutorHandler());
|
|
|
134
|
- jobLog.setExecutorParam(jobInfo.getExecutorParam());
|
|
|
135
|
- jobLog.setTriggerTime(new Date());
|
|
|
136
|
-
|
|
|
137
|
- ReturnT<String> triggerResult = new ReturnT<String>(null);
|
|
|
138
|
- StringBuffer triggerMsgSb = new StringBuffer();
|
|
|
139
|
- triggerMsgSb.append("调度机器:").append(IpUtil.getIp());
|
|
|
140
|
- triggerMsgSb.append("<br>执行器-注册方式:").append( (group.getAddressType() == 0)?"自动注册":"手动录入" );
|
|
|
141
|
- triggerMsgSb.append("<br>执行器-地址列表:").append(group.getRegistryList());
|
|
|
142
|
- triggerMsgSb.append("<br>路由策略:").append(executorRouteStrategyEnum.getTitle());
|
|
|
143
|
- triggerMsgSb.append("<br>阻塞处理策略:").append(blockStrategy.getTitle());
|
|
|
144
|
- triggerMsgSb.append("<br>失败处理策略:").append(failStrategy.getTitle());
|
|
|
145
|
-
|
|
|
146
|
- // 3、trigger-valid
|
|
|
147
|
- if (triggerResult.getCode()==ReturnT.SUCCESS_CODE && CollectionUtils.isEmpty(addressList)) {
|
|
|
148
|
- triggerResult.setCode(ReturnT.FAIL_CODE);
|
|
|
149
|
- triggerMsgSb.append("<br>----------------------<br>").append("调度失败:").append("执行器地址为空");
|
|
|
150
|
- }
|
|
|
|
|
120
|
+ } else {
|
|
|
121
|
+ // 1、save log-id
|
|
|
122
|
+ XxlJobLog jobLog = new XxlJobLog();
|
|
|
123
|
+ jobLog.setJobGroup(jobInfo.getJobGroup());
|
|
|
124
|
+ jobLog.setJobId(jobInfo.getId());
|
|
|
125
|
+ XxlJobDynamicScheduler.xxlJobLogDao.save(jobLog);
|
|
|
126
|
+ logger.debug(">>>>>>>>>>> xxl-job trigger start, jobId:{}", jobLog.getId());
|
|
|
127
|
+
|
|
|
128
|
+ // 2、prepare trigger-info
|
|
|
129
|
+ //jobLog.setExecutorAddress(executorAddress);
|
|
|
130
|
+ jobLog.setGlueType(jobInfo.getGlueType());
|
|
|
131
|
+ jobLog.setExecutorHandler(jobInfo.getExecutorHandler());
|
|
|
132
|
+ jobLog.setExecutorParam(jobInfo.getExecutorParam());
|
|
|
133
|
+ jobLog.setTriggerTime(new Date());
|
|
|
134
|
+
|
|
|
135
|
+ ReturnT<String> triggerResult = new ReturnT<String>(null);
|
|
|
136
|
+ StringBuffer triggerMsgSb = new StringBuffer();
|
|
|
137
|
+ triggerMsgSb.append("调度机器:").append(IpUtil.getIp());
|
|
|
138
|
+ triggerMsgSb.append("<br>执行器-注册方式:").append( (group.getAddressType() == 0)?"自动注册":"手动录入" );
|
|
|
139
|
+ triggerMsgSb.append("<br>执行器-地址列表:").append(group.getRegistryList());
|
|
|
140
|
+ triggerMsgSb.append("<br>路由策略:").append(executorRouteStrategyEnum.getTitle());
|
|
|
141
|
+ triggerMsgSb.append("<br>阻塞处理策略:").append(blockStrategy.getTitle());
|
|
|
142
|
+ triggerMsgSb.append("<br>失败处理策略:").append(failStrategy.getTitle());
|
|
|
143
|
+
|
|
|
144
|
+ // 3、trigger-valid
|
|
|
145
|
+ if (triggerResult.getCode()==ReturnT.SUCCESS_CODE && CollectionUtils.isEmpty(addressList)) {
|
|
|
146
|
+ triggerResult.setCode(ReturnT.FAIL_CODE);
|
|
|
147
|
+ triggerMsgSb.append("<br>----------------------<br>").append("调度失败:").append("执行器地址为空");
|
|
|
148
|
+ }
|
151
|
|
149
|
|
152
|
- if (triggerResult.getCode() == ReturnT.SUCCESS_CODE) {
|
|
|
153
|
- // 4.1、trigger-param
|
|
|
154
|
- TriggerParam triggerParam = new TriggerParam();
|
|
|
155
|
- triggerParam.setJobId(jobInfo.getId());
|
|
|
156
|
- triggerParam.setExecutorHandler(jobInfo.getExecutorHandler());
|
|
|
157
|
- triggerParam.setExecutorParams(jobInfo.getExecutorParam());
|
|
|
158
|
- triggerParam.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
|
|
|
159
|
- triggerParam.setLogId(jobLog.getId());
|
|
|
160
|
- triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime());
|
|
|
161
|
- triggerParam.setGlueType(jobInfo.getGlueType());
|
|
|
162
|
- triggerParam.setGlueSource(jobInfo.getGlueSource());
|
|
|
163
|
- triggerParam.setGlueUpdatetime(jobInfo.getGlueUpdatetime().getTime());
|
|
|
164
|
- triggerParam.setBroadcastIndex(0);
|
|
|
165
|
- triggerParam.setBroadcastTotal(1);
|
|
|
166
|
-
|
|
|
167
|
- // 4.2、trigger-run (route run / trigger remote executor)
|
|
|
168
|
- triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
|
|
|
169
|
- triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>触发调度<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
|
|
|
170
|
-
|
|
|
171
|
- // 4.3、trigger (fail retry)
|
|
|
172
|
- if (triggerResult.getCode()!=ReturnT.SUCCESS_CODE && failStrategy == ExecutorFailStrategyEnum.FAIL_RETRY) {
|
|
|
|
|
150
|
+ if (triggerResult.getCode() == ReturnT.SUCCESS_CODE) {
|
|
|
151
|
+ // 4.1、trigger-param
|
|
|
152
|
+ TriggerParam triggerParam = new TriggerParam();
|
|
|
153
|
+ triggerParam.setJobId(jobInfo.getId());
|
|
|
154
|
+ triggerParam.setExecutorHandler(jobInfo.getExecutorHandler());
|
|
|
155
|
+ triggerParam.setExecutorParams(jobInfo.getExecutorParam());
|
|
|
156
|
+ triggerParam.setExecutorBlockStrategy(jobInfo.getExecutorBlockStrategy());
|
|
|
157
|
+ triggerParam.setLogId(jobLog.getId());
|
|
|
158
|
+ triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime());
|
|
|
159
|
+ triggerParam.setGlueType(jobInfo.getGlueType());
|
|
|
160
|
+ triggerParam.setGlueSource(jobInfo.getGlueSource());
|
|
|
161
|
+ triggerParam.setGlueUpdatetime(jobInfo.getGlueUpdatetime().getTime());
|
|
|
162
|
+ triggerParam.setBroadcastIndex(0);
|
|
|
163
|
+ triggerParam.setBroadcastTotal(1);
|
|
|
164
|
+
|
|
|
165
|
+ // 4.2、trigger-run (route run / trigger remote executor)
|
173
|
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
|
166
|
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
|
174
|
- triggerMsgSb.append("<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>调度失败重试<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
|
|
|
|
|
167
|
+ triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>触发调度<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
|
|
|
168
|
+
|
|
|
169
|
+ // 4.3、trigger (fail retry)
|
|
|
170
|
+ if (triggerResult.getCode()!=ReturnT.SUCCESS_CODE && failStrategy == ExecutorFailStrategyEnum.FAIL_RETRY) {
|
|
|
171
|
+ triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
|
|
|
172
|
+ triggerMsgSb.append("<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>调度失败重试<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
|
|
|
173
|
+ }
|
175
|
}
|
174
|
}
|
176
|
- }
|
|
|
177
|
|
175
|
|
178
|
- // 5、save trigger-info
|
|
|
179
|
- jobLog.setExecutorAddress(triggerResult.getContent());
|
|
|
180
|
- jobLog.setTriggerCode(triggerResult.getCode());
|
|
|
181
|
- jobLog.setTriggerMsg(triggerMsgSb.toString());
|
|
|
182
|
- XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
|
|
|
|
|
176
|
+ // 5、save trigger-info
|
|
|
177
|
+ jobLog.setExecutorAddress(triggerResult.getContent());
|
|
|
178
|
+ jobLog.setTriggerCode(triggerResult.getCode());
|
|
|
179
|
+ jobLog.setTriggerMsg(triggerMsgSb.toString());
|
|
|
180
|
+ XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
|
|
|
181
|
+
|
|
|
182
|
+ // 6、monitor triger
|
|
|
183
|
+ JobFailMonitorHelper.monitor(jobLog.getId());
|
|
|
184
|
+ logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
|
|
|
185
|
+ }
|
183
|
|
186
|
|
184
|
- // 6、monitor triger
|
|
|
185
|
- JobFailMonitorHelper.monitor(jobLog.getId());
|
|
|
186
|
- logger.debug(">>>>>>>>>>> xxl-job trigger end, jobId:{}", jobLog.getId());
|
|
|
187
|
}
|
187
|
}
|
188
|
|
188
|
|
189
|
/**
|
189
|
/**
|