feat: 3.1.0

1. 优化工作流重试逻辑
This commit is contained in:
byteblogs168 2024-02-29 22:06:09 +08:00
parent cf30b1a0bf
commit 091c01b2e4

View File

@ -15,6 +15,7 @@ import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobMapper;
import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper; import com.aizuda.easy.retry.template.datasource.persistence.mapper.JobTaskMapper;
import com.aizuda.easy.retry.template.datasource.persistence.po.Job; import com.aizuda.easy.retry.template.datasource.persistence.po.Job;
import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask; import com.aizuda.easy.retry.template.datasource.persistence.po.JobTask;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
@ -76,10 +77,14 @@ public abstract class AbstractClientCallbackHandler implements ClientCallbackHan
} }
Job job = context.getJob(); Job job = context.getJob();
return SqlHelper.retBool(jobTaskMapper.update(updateJobTask, Wrappers.<JobTask>lambdaUpdate() LambdaUpdateWrapper<JobTask> updateWrapper = new LambdaUpdateWrapper<>();
.lt(JobTask::getRetryCount, job.getMaxRetryTimes()) updateWrapper.eq(JobTask::getId, context.getTaskId());
.eq(JobTask::getId, context.getTaskId()) if (Objects.isNull(context.getRetryScene())
)); || Objects.equals(JobRetrySceneEnum.AUTO.getRetryScene(), context.getRetryScene())) {
updateWrapper.lt(JobTask::getRetryCount, job.getMaxRetryTimes());
}
return SqlHelper.retBool(jobTaskMapper.update(updateJobTask,updateWrapper));
} }