From 67a714fb360d90a814c9504bf8ca5a3a5cd201a6 Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Sun, 2 Jun 2024 17:43:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(sj=5F1.0.0):=20=E4=BF=AE=E5=A4=8Dsqlserver?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93MP=E5=88=86=E9=A1=B5=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=98=AF=E6=B2=A1=E6=9C=89=E5=B8=A6order=20by=20?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E6=9F=A5=E8=AF=A2=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../snailjob/server/common/util/PartitionTaskUtils.java | 8 ++++++++ .../job/task/support/schedule/JobClearLogSchedule.java | 7 +++++-- .../job/task/support/schedule/JobLogMergeSchedule.java | 7 +++++-- .../retry/task/support/schedule/ClearLogSchedule.java | 6 +++++- .../schedule/RetryErrorMoreThresholdAlarmSchedule.java | 8 +++++--- .../task/support/schedule/RetryLogMergeSchedule.java | 4 +++- .../schedule/RetryTaskMoreThresholdAlarmSchedule.java | 4 ++-- 7 files changed, 33 insertions(+), 11 deletions(-) diff --git a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/util/PartitionTaskUtils.java b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/util/PartitionTaskUtils.java index 2e3c6b75..88f90a7f 100644 --- a/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/util/PartitionTaskUtils.java +++ b/snail-job-server/snail-job-server-common/src/main/java/com/aizuda/snailjob/server/common/util/PartitionTaskUtils.java @@ -19,6 +19,14 @@ public class PartitionTaskUtils { private PartitionTaskUtils() { } + /** + * 使用此方法必须order id asc + * + * @param dataSource 数据来源 + * @param task 执行任务 + * @param startId 初始id + * @return 总任务数 + */ public static long process(LongFunction> dataSource, Consumer> task, long startId) { 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 43bec60c..366e6e60 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 @@ -102,8 +102,11 @@ public class JobClearLogSchedule extends AbstractSchedule implements Lifecycle { List jobTaskBatchList = jobTaskBatchMapper.selectPage( new Page<>(0, 1000), - new LambdaUpdateWrapper().ge(JobTaskBatch::getId, startId) - .le(JobTaskBatch::getCreateDt, endTime)).getRecords(); + new LambdaUpdateWrapper() + .ge(JobTaskBatch::getId, startId) + .le(JobTaskBatch::getCreateDt, endTime) + .orderByAsc(JobTaskBatch::getId) + ).getRecords(); return JobTaskConverter.INSTANCE.toJobTaskBatchPartitionTasks(jobTaskBatchList); } diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobLogMergeSchedule.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobLogMergeSchedule.java index e399dfbf..f65cc437 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobLogMergeSchedule.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/schedule/JobLogMergeSchedule.java @@ -104,9 +104,12 @@ public class JobLogMergeSchedule extends AbstractSchedule implements Lifecycle { List jobTaskBatchList = jobTaskBatchMapper.selectPage( new Page<>(0, 1000), - new LambdaUpdateWrapper().ge(JobTaskBatch::getId, startId) + new LambdaUpdateWrapper() + .ge(JobTaskBatch::getId, startId) .in(JobTaskBatch::getTaskBatchStatus, JobTaskBatchStatusEnum.COMPLETED) - .le(JobTaskBatch::getCreateDt, endTime)).getRecords(); + .le(JobTaskBatch::getCreateDt, endTime) + .orderByAsc(JobTaskBatch::getId) + ).getRecords(); return JobTaskConverter.INSTANCE.toJobTaskBatchPartitionTasks(jobTaskBatchList); } diff --git a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/ClearLogSchedule.java b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/ClearLogSchedule.java index 7e24f69b..70220569 100644 --- a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/ClearLogSchedule.java +++ b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/ClearLogSchedule.java @@ -96,7 +96,11 @@ public class ClearLogSchedule extends AbstractSchedule implements Lifecycle { List retryTaskLogList = retryTaskLogMapper.selectPage( new Page<>(0, 1000), - new LambdaUpdateWrapper().ge(RetryTaskLog::getId, startId).le(RetryTaskLog::getCreateDt, endTime)).getRecords(); + new LambdaUpdateWrapper() + .ge(RetryTaskLog::getId, startId) + .le(RetryTaskLog::getCreateDt, endTime) + .orderByAsc(RetryTaskLog::getId) + ).getRecords(); return RetryTaskConverter.INSTANCE.toRetryTaskLogPartitionTasks(retryTaskLogList); } diff --git a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java index 00cb3e89..8a9706d8 100644 --- a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java +++ b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryErrorMoreThresholdAlarmSchedule.java @@ -123,10 +123,12 @@ public class RetryErrorMoreThresholdAlarmSchedule extends AbstractSchedule imple private List getNotifyConfigPartitions(Long startId) { List notifyConfigs = accessTemplate.getNotifyConfigAccess() - .listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper() + .listPage(new PageDTO<>(0, 1000), new LambdaQueryWrapper() + .gt(NotifyConfig::getId, startId) .eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus()) - .eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY_ERROR.getNotifyScene())) - .getRecords(); + .eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY_ERROR.getNotifyScene()) + .orderByAsc(NotifyConfig::getId) + ).getRecords(); if (CollUtil.isEmpty(notifyConfigs)) { return Lists.newArrayList(); diff --git a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryLogMergeSchedule.java b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryLogMergeSchedule.java index 196ee74a..1e50b1bd 100644 --- a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryLogMergeSchedule.java +++ b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryLogMergeSchedule.java @@ -109,7 +109,9 @@ public class RetryLogMergeSchedule extends AbstractSchedule implements Lifecycle .in(RetryTaskLog::getRetryStatus, Lists.newArrayList( RetryStatusEnum.FINISH.getStatus(), RetryStatusEnum.MAX_COUNT.getStatus())) - .le(RetryTaskLog::getCreateDt, endTime)).getRecords(); + .le(RetryTaskLog::getCreateDt, endTime) + .orderByAsc(RetryTaskLog::getId) + ).getRecords(); return RetryTaskLogConverter.INSTANCE.toRetryMergePartitionTaskDTOs(jobTaskBatchList); } diff --git a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java index 1e94a183..6dbaee3c 100644 --- a/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java +++ b/snail-job-server/snail-job-server-retry-task/src/main/java/com/aizuda/snailjob/server/retry/task/support/schedule/RetryTaskMoreThresholdAlarmSchedule.java @@ -116,11 +116,11 @@ public class RetryTaskMoreThresholdAlarmSchedule extends AbstractSchedule implem private List getNotifyConfigPartitions(Long startId) { List notifyConfigs = accessTemplate.getNotifyConfigAccess() - .listPage(new PageDTO<>(startId, 1000), new LambdaQueryWrapper() + .listPage(new PageDTO<>(0, 1000), new LambdaQueryWrapper() .eq(NotifyConfig::getNotifyStatus, StatusEnum.YES.getStatus()) .eq(NotifyConfig::getSystemTaskType, SyetemTaskTypeEnum.RETRY.getType()) .eq(NotifyConfig::getNotifyScene, RetryNotifySceneEnum.MAX_RETRY.getNotifyScene()) - .orderByDesc(NotifyConfig::getId)) // SQLServer 分页必须 ORDER BY + .orderByAsc(NotifyConfig::getId)) // SQLServer 分页必须 ORDER BY .getRecords(); Set recipientIds = notifyConfigs.stream()