From 03494bb0206a90eea8b43f9cedf6950b701dfa1b Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Wed, 22 May 2024 17:19:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=20=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E8=B6=85=E6=97=B6=E6=A3=80=E6=9F=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?500=20buff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/job/task/support/dispatch/JobExecutorActor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/dispatch/JobExecutorActor.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/dispatch/JobExecutorActor.java index 22d99a3a8..873c7234f 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/dispatch/JobExecutorActor.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/dispatch/JobExecutorActor.java @@ -159,7 +159,8 @@ public class JobExecutorActor extends AbstractActor { // 运行中的任务,需要进行超时检查 JobTimerWheel.registerWithJob(() -> new JobTimeoutCheckTask(taskExecute.getTaskBatchId(), job.getId()), - Duration.ofSeconds(job.getExecutorTimeout())); + // 加500ms是为了让尽量保证客户端自己先超时中断,防止客户端上报成功但是服务端已触发超时中断 + Duration.ofMillis(DateUtils.toEpochMilli(job.getExecutorTimeout()) + 500)); // JobTimerWheel.register(SyetemTaskTypeEnum.JOB.getType(), taskExecute.getTaskBatchId(), // new JobTimeoutCheckTask(taskExecute.getTaskBatchId(), job.getId()), @@ -226,7 +227,6 @@ public class JobExecutorActor extends AbstractActor { jobTimerTaskDTO.setJobId(taskExecuteDTO.getJobId()); jobTimerTaskDTO.setTaskBatchId(taskExecuteDTO.getTaskBatchId()); jobTimerTaskDTO.setTaskExecutorScene(JobTaskExecutorSceneEnum.AUTO_JOB.getType()); -// ResidentJobTimerTask timerTask = ; WaitStrategy waitStrategy = WaitStrategies.WaitStrategyEnum.getWaitStrategy(job.getTriggerType()); Long preTriggerAt = ResidentTaskCache.get(job.getId());