diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/handler/WorkflowBatchHandler.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/handler/WorkflowBatchHandler.java index 6146a153..e0c1aac6 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/handler/WorkflowBatchHandler.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/handler/WorkflowBatchHandler.java @@ -183,12 +183,6 @@ public class WorkflowBatchHandler { operationReason = JobOperationReasonEnum.JOB_OVERLAY.getReason(); } - // 关闭已经触发的任务 - List<JobTaskBatch> jobTaskBatches = jobTaskBatchMapper.selectList(new LambdaQueryWrapper<JobTaskBatch>() - .in(JobTaskBatch::getTaskBatchStatus, NOT_COMPLETE) - .eq(JobTaskBatch::getWorkflowTaskBatchId, workflowTaskBatchId)); - - WorkflowTaskBatch workflowTaskBatch = new WorkflowTaskBatch(); workflowTaskBatch.setTaskBatchStatus(JobTaskBatchStatusEnum.STOP.getStatus()); workflowTaskBatch.setOperationReason(operationReason); @@ -199,9 +193,15 @@ public class WorkflowBatchHandler { workflowTaskBatchId)); SnailSpringContext.getContext().publishEvent(new WorkflowTaskFailAlarmEvent(workflowTaskBatchId)); + // 关闭已经触发的任务 + List<JobTaskBatch> jobTaskBatches = jobTaskBatchMapper.selectList(new LambdaQueryWrapper<JobTaskBatch>() + .in(JobTaskBatch::getTaskBatchStatus, NOT_COMPLETE) + .eq(JobTaskBatch::getWorkflowTaskBatchId, workflowTaskBatchId)); + if (CollUtil.isEmpty(jobTaskBatches)) { return; } + List<Job> jobs = jobMapper.selectBatchIds(StreamUtils.toSet(jobTaskBatches, JobTaskBatch::getJobId)); Map<Long, Job> jobMap = StreamUtils.toIdentityMap(jobs, Job::getId);