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 2e3c6b752..88f90a7f3 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 43bec60cf..366e6e60a 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 e399dfbf2..f65cc4377 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 7e24f69b7..702205695 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 00cb3e89d..8a9706d8a 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 196ee74a2..1e50b1bd6 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 1e94a1838..6dbaee3c7 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()