任务回调结果优化,支持展示在Rolling log中,方便问题排查
This commit is contained in:
parent
5c24778f3d
commit
22da65c215
|
@ -1199,7 +1199,7 @@ Tips: 历史版本(V1.3.x)目前已经Release至稳定版本, 进入维护阶段
|
|||
- 8、Window机器下File.separator不兼容问题修复;
|
||||
- 9、任务日志查询速度优化,百万级别日志量搜索速度提升1000倍;
|
||||
- 10、底层LocalCache组件兼容性优化,支持jdk、jdk10编译部署;
|
||||
- 11、[迭代中]回调log优化,支持展示在rolling log中,方便排查问题;
|
||||
- 11、任务回调结果优化,支持展示在Rolling log中,方便问题排查;
|
||||
- 12、脚本任务异常Log输出优化;
|
||||
|
||||
|
||||
|
|
|
@ -9,11 +9,14 @@ public class HandleCallbackParam implements Serializable {
|
|||
private static final long serialVersionUID = 42L;
|
||||
|
||||
private int logId;
|
||||
private long logDateTim;
|
||||
|
||||
private ReturnT<String> executeResult;
|
||||
|
||||
public HandleCallbackParam(){}
|
||||
public HandleCallbackParam(int logId, ReturnT<String> executeResult) {
|
||||
public HandleCallbackParam(int logId, long logDateTim, ReturnT<String> executeResult) {
|
||||
this.logId = logId;
|
||||
this.logDateTim = logDateTim;
|
||||
this.executeResult = executeResult;
|
||||
}
|
||||
|
||||
|
@ -25,6 +28,14 @@ public class HandleCallbackParam implements Serializable {
|
|||
this.logId = logId;
|
||||
}
|
||||
|
||||
public long getLogDateTim() {
|
||||
return logDateTim;
|
||||
}
|
||||
|
||||
public void setLogDateTim(long logDateTim) {
|
||||
this.logDateTim = logDateTim;
|
||||
}
|
||||
|
||||
public ReturnT<String> getExecuteResult() {
|
||||
return executeResult;
|
||||
}
|
||||
|
@ -37,7 +48,9 @@ public class HandleCallbackParam implements Serializable {
|
|||
public String toString() {
|
||||
return "HandleCallbackParam{" +
|
||||
"logId=" + logId +
|
||||
", logDateTim=" + logDateTim +
|
||||
", executeResult=" + executeResult +
|
||||
'}';
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,6 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -148,11 +147,11 @@ public class JobThread extends Thread{
|
|||
// callback handler info
|
||||
if (!toStop) {
|
||||
// commonm
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), executeResult));
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), executeResult));
|
||||
} else {
|
||||
// is killed
|
||||
ReturnT<String> stopResult = new ReturnT<String>(ReturnT.FAIL_CODE, stopReason + " [业务运行中,被强制终止]");
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult));
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -164,7 +163,7 @@ public class JobThread extends Thread{
|
|||
if (triggerParam!=null) {
|
||||
// is killed
|
||||
ReturnT<String> stopResult = new ReturnT<String>(ReturnT.FAIL_CODE, stopReason + " [任务尚未执行,在调度队列中被终止]");
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), stopResult));
|
||||
TriggerCallbackThread.pushCallBack(new HandleCallbackParam(triggerParam.getLogId(), triggerParam.getLogDateTim(), stopResult));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,10 +4,13 @@ import com.xxl.job.core.biz.AdminBiz;
|
|||
import com.xxl.job.core.biz.model.HandleCallbackParam;
|
||||
import com.xxl.job.core.biz.model.ReturnT;
|
||||
import com.xxl.job.core.executor.XxlJobExecutor;
|
||||
import com.xxl.job.core.log.XxlJobFileAppender;
|
||||
import com.xxl.job.core.log.XxlJobLogger;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
|
||||
|
@ -108,17 +111,27 @@ public class TriggerCallbackThread {
|
|||
try {
|
||||
ReturnT<String> callbackResult = adminBiz.callback(callbackParamList);
|
||||
if (callbackResult!=null && ReturnT.SUCCESS_CODE == callbackResult.getCode()) {
|
||||
callbackResult = ReturnT.SUCCESS;
|
||||
logger.info(">>>>>>>>>>> xxl-job callback success, callbackParamList:{}, callbackResult:{}", new Object[]{callbackParamList, callbackResult});
|
||||
callbackLog(callbackParamList, "<br>----------- xxl-job callback success");
|
||||
break;
|
||||
} else {
|
||||
logger.info(">>>>>>>>>>> xxl-job callback fail, callbackParamList:{}, callbackResult:{}", new Object[]{callbackParamList, callbackResult});
|
||||
callbackLog(callbackParamList, "<br>----------- xxl-job callback fail, callbackResult:" + callbackResult);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error(">>>>>>>>>>> xxl-job callback error, callbackParamList:{}", callbackParamList, e);
|
||||
callbackLog(callbackParamList, "<br>----------- xxl-job callback error, errorMsg:" + e.getMessage());
|
||||
//getInstance().callBackQueue.addAll(callbackParamList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* callback log
|
||||
*/
|
||||
private void callbackLog(List<HandleCallbackParam> callbackParamList, String logContent){
|
||||
for (HandleCallbackParam callbackParam: callbackParamList) {
|
||||
String logFileName = XxlJobFileAppender.makeLogFileName(new Date(callbackParam.getLogDateTim()), callbackParam.getLogId());
|
||||
XxlJobFileAppender.contextHolder.set(logFileName);
|
||||
XxlJobLogger.log(logContent);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue