Commit 907d7119 by huangfusuper

测试一个异常

parent 56c4cfb2
...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; ...@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
import com.byit.dto.executor.DispatchResponseDto; import com.byit.dto.executor.DispatchResponseDto;
import com.byit.dto.executor.JobRunResultDto; import com.byit.dto.executor.JobRunResultDto;
import com.byit.dto.executor.ScriptDto; import com.byit.dto.executor.ScriptDto;
import com.byit.dto.plugin.RunLog;
import com.byit.dto.web.ReturnResult; import com.byit.dto.web.ReturnResult;
import com.byit.enums.JobResultEnum; import com.byit.enums.JobResultEnum;
import com.byit.executor.api.ScriptExecutorService; import com.byit.executor.api.ScriptExecutorService;
...@@ -15,15 +16,18 @@ import com.byit.node.impl.RunScriptProcessingMachine; ...@@ -15,15 +16,18 @@ import com.byit.node.impl.RunScriptProcessingMachine;
import com.byit.pool.RunThreadPool; import com.byit.pool.RunThreadPool;
import com.byit.rpc.remoting.provider.annotation.RpcService; import com.byit.rpc.remoting.provider.annotation.RpcService;
import com.byit.utils.ExecutorLogUtil; import com.byit.utils.ExecutorLogUtil;
import com.byit.utils.KeyUtil;
import com.byit.utils.RequestUtil; import com.byit.utils.RequestUtil;
import com.byit.utils.ServiceInfoUtil; import com.byit.utils.ServiceInfoUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;
import java.util.Iterator;
import java.util.List; import java.util.List;
import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
/** /**
* 命令式方式执行的执行机 * 命令式方式执行的执行机
* @author huangfu * @author huangfu
...@@ -36,6 +40,7 @@ public class ImperativeExecutionImpl implements ScriptExecutorService { ...@@ -36,6 +40,7 @@ public class ImperativeExecutionImpl implements ScriptExecutorService {
private final LogDataProcessingMachine logDataProcessingMachine; private final LogDataProcessingMachine logDataProcessingMachine;
private final RunScriptProcessingMachine runScriptProcessingMachine; private final RunScriptProcessingMachine runScriptProcessingMachine;
private final ParameterVerificationProcessingMachine parameterVerificationProcessingMachine; private final ParameterVerificationProcessingMachine parameterVerificationProcessingMachine;
private final StringRedisTemplate stringRedisTemplate;
private static final Integer NODE_RUN_SUCCESS_CODE = 0; private static final Integer NODE_RUN_SUCCESS_CODE = 0;
/** /**
...@@ -43,11 +48,12 @@ public class ImperativeExecutionImpl implements ScriptExecutorService { ...@@ -43,11 +48,12 @@ public class ImperativeExecutionImpl implements ScriptExecutorService {
*/ */
private static final Integer NODE_KILL_CODE = -100; private static final Integer NODE_KILL_CODE = -100;
public ImperativeExecutionImpl(CommandAndScriptProcessingMachine commandAndScriptProcessingMachine, LogDataProcessingMachine logDataProcessingMachine, RunScriptProcessingMachine runScriptProcessingMachine, ParameterVerificationProcessingMachine parameterVerificationProcessingMachine) { public ImperativeExecutionImpl(CommandAndScriptProcessingMachine commandAndScriptProcessingMachine, LogDataProcessingMachine logDataProcessingMachine, RunScriptProcessingMachine runScriptProcessingMachine, ParameterVerificationProcessingMachine parameterVerificationProcessingMachine, StringRedisTemplate stringRedisTemplate) {
this.commandAndScriptProcessingMachine = commandAndScriptProcessingMachine; this.commandAndScriptProcessingMachine = commandAndScriptProcessingMachine;
this.logDataProcessingMachine = logDataProcessingMachine; this.logDataProcessingMachine = logDataProcessingMachine;
this.runScriptProcessingMachine = runScriptProcessingMachine; this.runScriptProcessingMachine = runScriptProcessingMachine;
this.parameterVerificationProcessingMachine = parameterVerificationProcessingMachine; this.parameterVerificationProcessingMachine = parameterVerificationProcessingMachine;
this.stringRedisTemplate = stringRedisTemplate;
} }
@Override @Override
...@@ -102,6 +108,13 @@ public class ImperativeExecutionImpl implements ScriptExecutorService { ...@@ -102,6 +108,13 @@ public class ImperativeExecutionImpl implements ScriptExecutorService {
ReturnResult<String> returnResult = new ReturnResult<>(); ReturnResult<String> returnResult = new ReturnResult<>();
returnResult.setCode(ReturnResult.FAIL.getCode()); returnResult.setCode(ReturnResult.FAIL.getCode());
returnResult.setMsg(ExecutorLogUtil.getMessage(e)); returnResult.setMsg(ExecutorLogUtil.getMessage(e));
boolean isRunNode = scriptDto.getRunId().contains("REAL:EXEC:");
if(isRunNode) {
RunLog runLog = RunLog.builder().isEnd(true).isSuccess(false).runLog("调度执行机出现异常").build();
String runKey = KeyUtil.generateRunKey(scriptDto.getLogId());
//TODO 向队列队尾插入一个值
stringRedisTemplate.opsForList().rightPush(runKey, JSON.toJSONString(runLog, WriteClassName));
}
jobRunResultDto.setReturnResult(returnResult); jobRunResultDto.setReturnResult(returnResult);
} }
//设置结束时间 //设置结束时间
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment