feat(sj_1.0.0): 优化定时任务告警通知
This commit is contained in:
parent
2fad654702
commit
a7f0398746
@ -45,19 +45,23 @@ import java.util.concurrent.CancellationException;
|
|||||||
public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult> {
|
public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult> {
|
||||||
|
|
||||||
private static final String TEXT_MESSAGE_FORMATTER = """
|
private static final String TEXT_MESSAGE_FORMATTER = """
|
||||||
<font face="微软雅黑" color=#ff0000 size=4>{}环境 执行结果上报异常</font> \s
|
<font face="微软雅黑" color=#ff0000 size=4>{}环境 定时任务上报异常</font> \s
|
||||||
> IP:{} \s
|
> IP:{} \s
|
||||||
> 空间ID:{} \s
|
> 空间ID:{} \s
|
||||||
> 名称:{} \s
|
> 名称:{} \s
|
||||||
> 时间:{} \s
|
> 时间:{} \s
|
||||||
> 结果:{} \s
|
|
||||||
> 异常:{} \s
|
> 异常:{} \s
|
||||||
\s""";
|
\s""";
|
||||||
|
|
||||||
private static final JobNettyClient CLIENT = RequestBuilder.<JobNettyClient, NettyResult>newBuilder()
|
private static final JobNettyClient CLIENT = RequestBuilder.<JobNettyClient, NettyResult>newBuilder()
|
||||||
.client(JobNettyClient.class)
|
.client(JobNettyClient.class)
|
||||||
.callback(nettyResult -> SnailJobLog.LOCAL.info("Job execute result report successfully requestId:[{}]",
|
.callback(nettyResult -> {
|
||||||
nettyResult.getRequestId())).build();
|
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;
|
private final JobContext jobContext;
|
||||||
|
|
||||||
@ -90,7 +94,7 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
|
|||||||
CLIENT.dispatchResult(buildDispatchJobResultRequest(result, taskStatus));
|
CLIENT.dispatchResult(buildDispatchJobResultRequest(result, taskStatus));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e);
|
SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e);
|
||||||
sendMessage(result, e);
|
sendMessage(e.getMessage());
|
||||||
} finally {
|
} finally {
|
||||||
SnailJobLogManager.removeLogMeta();
|
SnailJobLogManager.removeLogMeta();
|
||||||
stopThreadPool();
|
stopThreadPool();
|
||||||
@ -118,7 +122,7 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
|
|||||||
);
|
);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e);
|
SnailJobLog.REMOTE.error("执行结果上报异常.[{}]", jobContext.getTaskId(), e);
|
||||||
sendMessage(failure, e);
|
sendMessage(e.getMessage());
|
||||||
} finally {
|
} finally {
|
||||||
SnailJobLogManager.removeLogMeta();
|
SnailJobLogManager.removeLogMeta();
|
||||||
stopThreadPool();
|
stopThreadPool();
|
||||||
@ -159,7 +163,7 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
|
|||||||
return dispatchJobRequest;
|
return dispatchJobRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void sendMessage(final ExecuteResult result, Exception e) {
|
private static void sendMessage(String message) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
SnailJobProperties snailJobProperties = SpringContext.getBean(SnailJobProperties.class);
|
SnailJobProperties snailJobProperties = SpringContext.getBean(SnailJobProperties.class);
|
||||||
@ -178,8 +182,7 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
|
|||||||
snailJobProperties.getNamespace(),
|
snailJobProperties.getNamespace(),
|
||||||
snailJobProperties.getGroup(),
|
snailJobProperties.getGroup(),
|
||||||
LocalDateTime.now().format(DatePattern.NORM_DATETIME_FORMATTER),
|
LocalDateTime.now().format(DatePattern.NORM_DATETIME_FORMATTER),
|
||||||
JsonUtil.toJsonString(result),
|
message)
|
||||||
e.getMessage())
|
|
||||||
.title("定时任务执行结果上报异常:[{}]", snailJobProperties.getGroup())
|
.title("定时任务执行结果上报异常:[{}]", snailJobProperties.getGroup())
|
||||||
.notifyAttribute(recipient.getNotifyAttribute());
|
.notifyAttribute(recipient.getNotifyAttribute());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user