提交 b607bcde 编写于 作者: 许雪里's avatar 许雪里

执行器路由逻辑优化

上级 2ed78c55
package com.xxl.job.admin.core.route;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -21,9 +20,9 @@ public abstract class ExecutorRouter {
*
* @param triggerParam
* @param addressList
* @return
* @return ReturnT.content: final address
*/
public abstract ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog);
public abstract ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList);
/**
* run executor
......
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.ReturnT;
......@@ -19,7 +18,7 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
StringBuffer idleBeatResultSB = new StringBuffer();
for (String address : addressList) {
......@@ -40,12 +39,14 @@ public class ExecutorRouteBusyover extends ExecutorRouter {
// beat success
if (idleBeatResult.getCode() == ReturnT.SUCCESS_CODE) {
jobLog.setExecutorAddress(address);
ReturnT<String> runResult = runExecutor(triggerParam, address);
idleBeatResultSB.append("<br><br>").append(runResult.getMsg());
return new ReturnT<String>(runResult.getCode(), idleBeatResultSB.toString());
// result
runResult.setMsg(idleBeatResultSB.toString());
runResult.setContent(address);
return runResult;
}
}
......
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -78,13 +77,13 @@ public class ExecutorRouteConsistentHash extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
}
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.ExecutorBiz;
import com.xxl.job.core.biz.model.ReturnT;
......@@ -19,7 +18,7 @@ public class ExecutorRouteFailover extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
StringBuffer beatResultSB = new StringBuffer();
for (String address : addressList) {
......@@ -40,12 +39,14 @@ public class ExecutorRouteFailover extends ExecutorRouter {
// beat success
if (beatResult.getCode() == ReturnT.SUCCESS_CODE) {
jobLog.setExecutorAddress(address);
ReturnT<String> runResult = runExecutor(triggerParam, address);
beatResultSB.append("<br><br>").append(runResult.getMsg());
return new ReturnT<String>(runResult.getCode(), beatResultSB.toString());
// result
runResult.setMsg(beatResultSB.toString());
runResult.setContent(address);
return runResult;
}
}
return new ReturnT<String>(ReturnT.FAIL_CODE, beatResultSB.toString());
......
......@@ -17,14 +17,14 @@ public class ExecutorRouteFirst extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
}
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -57,14 +56,14 @@ public class ExecutorRouteLFU extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
......
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -56,14 +55,14 @@ public class ExecutorRouteLRU extends ExecutorRouter {
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
......
......@@ -17,13 +17,13 @@ public class ExecutorRouteLast extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
}
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -21,13 +20,13 @@ public class ExecutorRouteRandom extends ExecutorRouter {
}
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
......
package com.xxl.job.admin.core.route.strategy;
import com.xxl.job.admin.core.model.XxlJobLog;
import com.xxl.job.admin.core.route.ExecutorRouter;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.biz.model.TriggerParam;
......@@ -36,14 +35,14 @@ public class ExecutorRouteRound extends ExecutorRouter {
@Override
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList, XxlJobLog jobLog) {
public ReturnT<String> routeRun(TriggerParam triggerParam, ArrayList<String> addressList) {
// address
String address = route(triggerParam.getJobId(), addressList);
jobLog.setExecutorAddress(address);
// run executor
ReturnT<String> runResult = runExecutor(triggerParam, address);
runResult.setContent(address);
return runResult;
}
}
......@@ -86,17 +86,18 @@ public class XxlJobTrigger {
triggerParam.setLogDateTim(jobLog.getTriggerTime().getTime());
// 4.2、trigger-run (route run / trigger remote executor)
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList, jobLog);
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
triggerMsgSb.append("<br><br><span style=\"color:#00c0ef;\" > >>>>>>>>>>>触发调度<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
// 4.3、trigger (fail retry)
if (triggerResult.getCode()!=ReturnT.SUCCESS_CODE && failStrategy == ExecutorFailStrategyEnum.FAIL_RETRY) {
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList, jobLog);
triggerResult = executorRouteStrategyEnum.getRouter().routeRun(triggerParam, addressList);
triggerMsgSb.append("<br><br><span style=\"color:#F39C12;\" > >>>>>>>>>>>失败重试<<<<<<<<<<< </span><br>").append(triggerResult.getMsg());
}
}
// 5、save trigger-info
jobLog.setExecutorAddress(triggerResult.getContent());
jobLog.setTriggerCode(triggerResult.getCode());
jobLog.setTriggerMsg(triggerMsgSb.toString());
XxlJobDynamicScheduler.xxlJobLogDao.updateTriggerInfo(jobLog);
......
......@@ -110,7 +110,7 @@ $(function() {
}
var temp = '';
temp += '执行器地址:' + row.executorAddress;
temp += '执行器地址:' + (row.executorAddress?row.executorAddress:'');
temp += '<br>运行模式:' + glueTypeTitle;
temp += '<br>任务参数:' + row.executorParam;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册