fix: JobSummary UK 加上systemTaskType

This commit is contained in:
dhb52 2024-03-31 17:30:44 +08:00
parent e0433360c9
commit 519dc776f3
6 changed files with 9 additions and 10 deletions

View File

@ -428,7 +428,7 @@ CREATE TABLE `job_summary`
PRIMARY KEY (`id`),
KEY `idx_trigger_at` (`trigger_at`),
KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id),
UNIQUE KEY `uk_business_id_trigger_at` (`business_id`, `trigger_at`) USING BTREE
UNIQUE KEY `uk_system_task_type_business_id_trigger_at` (`system_task_type`, `business_id`, `trigger_at`) USING BTREE
) ENGINE = InnoDB
AUTO_INCREMENT = 1
DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job';

View File

@ -678,7 +678,7 @@ CREATE TABLE job_summary
update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_job_summary_1 ON job_summary (business_id, trigger_at);
CREATE UNIQUE INDEX uk_job_summary_1 ON job_summary (system_task_type, business_id, trigger_at);
CREATE INDEX idx_job_summary_1 ON job_summary (namespace_id, group_name, business_id);
COMMENT ON TABLE job_summary IS 'DashBoard_Job';

View File

@ -660,7 +660,7 @@ CREATE TABLE job_summary
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX uk_job_id_trigger_at ON job_summary (business_id, trigger_at);
CREATE UNIQUE INDEX uk_system_task_type_business_id_trigger_at ON job_summary (system_task_type, business_id, trigger_at);
CREATE INDEX idx_namespace_id_group_name_job_id ON job_summary (namespace_id, group_name, business_id);
COMMENT ON COLUMN job_summary.id IS '主键';

View File

@ -673,7 +673,7 @@ CREATE TABLE job_summary
)
GO
CREATE UNIQUE NONCLUSTERED INDEX uk_job_id_trigger_at ON job_summary (business_id ASC, trigger_at ASC)
CREATE UNIQUE NONCLUSTERED INDEX uk_system_task_type_business_id_trigger_at ON job_summary (system_task_type ASC, business_id ASC, trigger_at ASC)
GO
CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_job_id ON job_summary (namespace_id ASC, group_name ASC, business_id ASC)
GO

View File

@ -87,6 +87,7 @@ public class JobSummarySchedule extends AbstractSchedule implements Lifecycle {
List<JobSummary> jobSummaries = jobSummaryMapper.selectList(new LambdaQueryWrapper<JobSummary>()
.eq(JobSummary::getTriggerAt, todayFrom)
.eq(JobSummary::getSystemTaskType, SyetemTaskTypeEnum.JOB.getType())
.in(JobSummary::getBusinessId, jobSummaryList.stream().map(JobSummary::getBusinessId).collect(
Collectors.toSet())));

View File

@ -13,11 +13,9 @@ import com.aizuda.easy.retry.template.datasource.persistence.dataobject.JobBatch
import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobSummaryMapper;
import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskBatchMapper;
import com.aizuda.easy.retry.template.datasource.persistence.po.JobSummary;
import com.aizuda.easy.retry.template.datasource.persistence.po.JobTaskBatch;
import com.aizuda.easy.retry.template.datasource.persistence.po.WorkflowTaskBatch;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@ -31,7 +29,6 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -91,6 +88,7 @@ public class WorkflowJobSummarySchedule extends AbstractSchedule implements Life
List<JobSummary> jobSummaries = jobSummaryMapper.selectList(new LambdaQueryWrapper<JobSummary>()
.eq(JobSummary::getTriggerAt, todayFrom)
.eq(JobSummary::getSystemTaskType, SyetemTaskTypeEnum.WORKFLOW.getType())
.in(JobSummary::getBusinessId, jobSummaryList.stream().map(JobSummary::getBusinessId).collect(
Collectors.toSet())));
@ -130,7 +128,7 @@ public class WorkflowJobSummarySchedule extends AbstractSchedule implements Life
}
private List<JobSummary> jobSummaryList(LocalDateTime triggerAt,
List<JobBatchSummaryResponseDO> summaryResponseDOList) {
List<JobBatchSummaryResponseDO> summaryResponseDOList) {
List<JobSummary> jobSummaryList = new ArrayList<>();
Map<Long, List<JobBatchSummaryResponseDO>> jobIdListMap = summaryResponseDOList.parallelStream()
.collect(Collectors.groupingBy(JobBatchSummaryResponseDO::getJobId));
@ -165,7 +163,7 @@ public class WorkflowJobSummarySchedule extends AbstractSchedule implements Life
* @return
*/
private List<JobTaskBatchReason> jobTaskBatchReasonList(int jobTaskBatchStatus,
List<JobBatchSummaryResponseDO> jobBatchSummaryResponseDOList) {
List<JobBatchSummaryResponseDO> jobBatchSummaryResponseDOList) {
List<JobTaskBatchReason> jobTaskBatchReasonArrayList = new ArrayList<>();
List<JobBatchSummaryResponseDO> summaryResponseDOList = jobBatchSummaryResponseDOList.stream()
.filter(i -> jobTaskBatchStatus == i.getTaskBatchStatus()).collect(Collectors.toList());
@ -180,7 +178,7 @@ public class WorkflowJobSummarySchedule extends AbstractSchedule implements Life
@Override
public void start() {
taskScheduler.scheduleAtFixedRate(this::execute, Duration.parse("PT1H"));
taskScheduler.scheduleAtFixedRate(this::execute, Duration.parse("PT1M"));
}
@Override