修改JobThread捕获Error错误不更新JobLog
This commit is contained in:
parent
be926f81aa
commit
abb4474fbb
|
@ -91,12 +91,16 @@ public class JobThread extends Thread{
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
while(!toStop){
|
||||
running = false;
|
||||
idleTimes++;
|
||||
// handle job
|
||||
ReturnT<String> executeResult = null;
|
||||
TriggerParam triggerParam = null;
|
||||
try {
|
||||
// to check toStop signal, we need cycle, so wo cannot use queue.take(), instand of poll(timeout)
|
||||
TriggerParam triggerParam = triggerQueue.poll(3L, TimeUnit.SECONDS);
|
||||
triggerParam = triggerQueue.poll(3L, TimeUnit.SECONDS);
|
||||
if (triggerParam!=null) {
|
||||
running = true;
|
||||
idleTimes = 0;
|
||||
|
@ -104,10 +108,9 @@ public class JobThread extends Thread{
|
|||
|
||||
// parse param
|
||||
String[] handlerParams = (triggerParam.getExecutorParams()!=null && triggerParam.getExecutorParams().trim().length()>0)
|
||||
? (String[])(Arrays.asList(triggerParam.getExecutorParams().split(",")).toArray()) : null;
|
||||
? (String[])(Arrays.asList(triggerParam.getExecutorParams().split(" ")).toArray()) : null;
|
||||
|
||||
|
||||
// handle job
|
||||
ReturnT<String> executeResult = null;
|
||||
try {
|
||||
// log filename: yyyy-MM-dd/9999.log
|
||||
String logFileName = XxlJobFileAppender.makeLogFileName(new Date(triggerParam.getLogDateTim()), triggerParam.getLogId());
|
||||
|
@ -135,15 +138,6 @@ public class JobThread extends Thread{
|
|||
XxlJobLogger.log("<br>----------- JobThread Exception:" + errorMsg + "<br>----------- xxl-job job execute end(error) -----------");
|
||||
}
|
||||
|
||||
// callback handler info
|
||||
if (!toStop) {
|
||||
// commonm
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), executeResult));
|
||||
} else {
|
||||
// is killed
|
||||
ReturnT<String> stopResult = new ReturnT<String>(ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]");
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult));
|
||||
}
|
||||
} else {
|
||||
if (idleTimes > 30) {
|
||||
XxlJobExecutor.removeJobThread(jobId, "excutor idel times over limit.");
|
||||
|
@ -157,7 +151,21 @@ public class JobThread extends Thread{
|
|||
StringWriter stringWriter = new StringWriter();
|
||||
e.printStackTrace(new PrintWriter(stringWriter));
|
||||
String errorMsg = stringWriter.toString();
|
||||
executeResult = new ReturnT<String>(ReturnT.FAIL_CODE, errorMsg);
|
||||
|
||||
XxlJobLogger.log("----------- xxl-job JobThread Exception:" + errorMsg);
|
||||
} finally {
|
||||
if(triggerParam != null) {
|
||||
// callback handler info
|
||||
if (!toStop) {
|
||||
// commonm
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), executeResult));
|
||||
} else {
|
||||
// is killed
|
||||
ReturnT<String> stopResult = new ReturnT<String>(ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]");
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -171,6 +179,6 @@ public class JobThread extends Thread{
|
|||
}
|
||||
}
|
||||
|
||||
logger.info(">>>>>>>>>>> xxl-job JobThread stoped, hashCode:{}", Thread.currentThread());
|
||||
logger.info(">>>>>>>>>>>> xxl-job JobThread stoped, hashCode:{}", Thread.currentThread());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue