diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/JobExecutorFutureCallback.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/JobExecutorFutureCallback.java index cd50f907..4abe1875 100644 --- a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/JobExecutorFutureCallback.java +++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/JobExecutorFutureCallback.java @@ -45,19 +45,23 @@ import java.util.concurrent.CancellationException; public class JobExecutorFutureCallback implements FutureCallback { private static final String TEXT_MESSAGE_FORMATTER = """ - {}环境 执行结果上报异常 \s + {}环境 定时任务上报异常 \s > IP:{} \s > 空间ID:{} \s > 名称:{} \s > 时间:{} \s - > 结果:{} \s > 异常:{} \s \s"""; private static final JobNettyClient CLIENT = RequestBuilder.newBuilder() .client(JobNettyClient.class) - .callback(nettyResult -> SnailJobLog.LOCAL.info("Job execute result report successfully requestId:[{}]", - nettyResult.getRequestId())).build(); + .callback(nettyResult -> { + if (nettyResult.getStatus() == StatusEnum.NO.getStatus()) { + sendMessage(nettyResult.getMessage()); + } + SnailJobLog.LOCAL.debug("Job execute result report successfully requestId:[{}]", + nettyResult.getRequestId()); + }).build(); private final JobContext jobContext; @@ -90,7 +94,7 @@ public class JobExecutorFutureCallback implements FutureCallback CLIENT.dispatchResult(buildDispatchJobResultRequest(result, taskStatus)); } catch (Exception e) { SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e); - sendMessage(result, e); + sendMessage(e.getMessage()); } finally { SnailJobLogManager.removeLogMeta(); stopThreadPool(); @@ -118,7 +122,7 @@ public class JobExecutorFutureCallback implements FutureCallback ); } catch (Exception e) { SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e); - sendMessage(failure, e); + sendMessage(e.getMessage()); } finally { SnailJobLogManager.removeLogMeta(); stopThreadPool(); @@ -159,7 +163,7 @@ public class JobExecutorFutureCallback implements FutureCallback return dispatchJobRequest; } - private void sendMessage(final ExecuteResult result, Exception e) { + private static void sendMessage(String message) { try { SnailJobProperties snailJobProperties = SpringContext.getBean(SnailJobProperties.class); @@ -178,8 +182,7 @@ public class JobExecutorFutureCallback implements FutureCallback snailJobProperties.getNamespace(), snailJobProperties.getGroup(), LocalDateTime.now().format(DatePattern.NORM_DATETIME_FORMATTER), - JsonUtil.toJsonString(result), - e.getMessage()) + message) .title("定时任务执行结果上报异常:[{}]", snailJobProperties.getGroup()) .notifyAttribute(recipient.getNotifyAttribute());