From cf91d88ac27c7de1695e2a2f26c2b5caf73f3fdc Mon Sep 17 00:00:00 2001 From: Srzou Date: Wed, 9 Apr 2025 22:30:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(1.5.0-beta1):=20=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E6=B8=85=E7=90=86=E6=97=A5=E5=BF=97=E4=B8=AD=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E5=AF=B9=20workflowBatch=20=E7=9A=84=E6=B8=85=E7=90=86?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../support/schedule/JobClearLogSchedule.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobClearLogSchedule.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobClearLogSchedule.java index f56d22cfc..7ddb238bf 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobClearLogSchedule.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobClearLogSchedule.java @@ -12,6 +12,7 @@ import com.aizuda.snailjob.server.job.task.support.JobTaskConverter; import com.aizuda.snailjob.template.datasource.persistence.mapper.JobLogMessageMapper; import com.aizuda.snailjob.template.datasource.persistence.mapper.JobTaskBatchMapper; import com.aizuda.snailjob.template.datasource.persistence.mapper.JobTaskMapper; +import com.aizuda.snailjob.template.datasource.persistence.mapper.WorkflowTaskBatchMapper; import com.aizuda.snailjob.template.datasource.persistence.po.JobLogMessage; import com.aizuda.snailjob.template.datasource.persistence.po.JobTask; import com.aizuda.snailjob.template.datasource.persistence.po.JobTaskBatch; @@ -48,6 +49,7 @@ public class JobClearLogSchedule extends AbstractSchedule implements Lifecycle { private final JobTaskBatchMapper jobTaskBatchMapper; private final JobTaskMapper jobTaskMapper; private final JobLogMessageMapper jobLogMessageMapper; + private final WorkflowTaskBatchMapper workflowTaskBatchMapper; private final TransactionTemplate transactionTemplate; @Override @@ -120,6 +122,7 @@ public class JobClearLogSchedule extends AbstractSchedule implements Lifecycle { Set jobTaskListIds = new HashSet<>(); Set jobLogMessageListIds = new HashSet<>(); + Set workflowBatchIds = new HashSet<>(); for (List ids : idsPartition) { // Waiting for deletion JobTaskList @@ -138,6 +141,15 @@ public class JobClearLogSchedule extends AbstractSchedule implements Lifecycle { Set jobLogMessage = jobLogMessageList.stream().map(JobLogMessage::getId).collect(Collectors.toSet()); jobLogMessageListIds.addAll(jobLogMessage); } + + // 先找出对应的 workflowTaskBatchId + List jobTaskBatchList = jobTaskBatchMapper.selectList(new LambdaQueryWrapper(). + select(JobTaskBatch::getWorkflowTaskBatchId) + .in(JobTaskBatch::getId, ids)); + if (!CollectionUtils.isEmpty(jobTaskBatchList)) { + Set workflowTaskBatchId = jobTaskBatchList.stream().map(JobTaskBatch::getWorkflowTaskBatchId).collect(Collectors.toSet()); + workflowBatchIds.addAll(workflowTaskBatchId); + } } transactionTemplate.execute(new TransactionCallbackWithoutResult() { @@ -151,6 +163,9 @@ public class JobClearLogSchedule extends AbstractSchedule implements Lifecycle { if (!CollectionUtils.isEmpty(jobLogMessageListIds)) { Lists.partition(jobLogMessageListIds.stream().toList(), 500).forEach(jobLogMessageMapper::deleteByIds); } + if (!CollectionUtils.isEmpty(workflowBatchIds)) { + Lists.partition(workflowBatchIds.stream().toList(), 500).forEach(workflowTaskBatchMapper::deleteByIds); + } } }); }