fix:(1.2.0-beta2): 修复高并发场景下,定时任务因超时或手动停止,导致的异常重试问题

This commit is contained in:
srzou 2024-09-29 09:28:15 +08:00
parent 19b13992cd
commit ddd79711de

View File

@ -104,6 +104,10 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
@Override
public void onFailure(final Throwable t) {
if (t instanceof CancellationException) {
SnailJobLog.LOCAL.debug("任务已经被取消,不做状态回传");
return;
}
ExecuteResult failure = ExecuteResult.failure();
try {
// 初始化调度信息日志上报LogUtil
@ -111,12 +115,7 @@ public class JobExecutorFutureCallback implements FutureCallback<ExecuteResult>
// 上报执行失败
SnailJobLog.REMOTE.error("任务执行失败 taskBatchId:[{}]", jobContext.getTaskBatchId(), t);
if (t instanceof CancellationException) {
failure.setMessage("任务被取消");
} else {
failure.setMessage(t.getMessage());
}
failure.setMessage(t.getMessage());
CLIENT.dispatchResult(
buildDispatchJobResultRequest(failure, JobTaskStatusEnum.FAIL.getStatus())