feat:(1.2.0-beta1): 1. 优化工作流手动停止时只允许未完成状态才能停止 2. 修复任务停止失败情况
This commit is contained in:
parent
680e3fe976
commit
a04c5f7c8e
@ -1,6 +1,7 @@
|
||||
package com.aizuda.snailjob.server.job.task.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
@ -8,8 +9,9 @@ import lombok.Data;
|
||||
* @date 2023-12-24 23:00:24
|
||||
* @since 2.6.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class CompleteJobBatchDTO {
|
||||
public class CompleteJobBatchDTO extends BaseDTO {
|
||||
|
||||
private Long jobId;
|
||||
private Long workflowNodeId;
|
||||
|
@ -12,9 +12,4 @@ import java.time.LocalDateTime;
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class RealStopTaskInstanceDTO extends BaseDTO {
|
||||
|
||||
/**
|
||||
* 下次触发时间
|
||||
*/
|
||||
private LocalDateTime nextTriggerAt;
|
||||
}
|
||||
|
@ -1,7 +1,9 @@
|
||||
package com.aizuda.snailjob.server.job.task.support.result.job;
|
||||
|
||||
import com.aizuda.snailjob.server.job.task.dto.BaseDTO;
|
||||
import com.aizuda.snailjob.template.datasource.persistence.po.JobTask;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -10,15 +12,13 @@ import java.util.List;
|
||||
* @date : 2024-09-04
|
||||
* @since :1.2.0
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class JobExecutorResultContext {
|
||||
public class JobExecutorResultContext extends BaseDTO {
|
||||
|
||||
private Long jobId;
|
||||
private Long workflowNodeId;
|
||||
private Long workflowTaskBatchId;
|
||||
private Long taskBatchId;
|
||||
private Integer jobOperationReason;
|
||||
private Integer taskType;
|
||||
private boolean isRetry;
|
||||
private List<JobTask> jobTaskList;
|
||||
|
||||
@ -32,4 +32,5 @@ public class JobExecutorResultContext {
|
||||
*/
|
||||
private boolean taskBatchComplete;
|
||||
|
||||
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package com.aizuda.snailjob.server.job.task.support.stop;
|
||||
import akka.actor.AbstractActor;
|
||||
import com.aizuda.snailjob.client.model.StopJobDTO;
|
||||
import com.aizuda.snailjob.common.core.model.Result;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import com.aizuda.snailjob.server.common.akka.ActorGenerator;
|
||||
import com.aizuda.snailjob.server.common.cache.CacheRegisterTable;
|
||||
import com.aizuda.snailjob.server.common.dto.RegisterNodeInfo;
|
||||
@ -32,7 +33,7 @@ public class RealStopTaskActor extends AbstractActor {
|
||||
try {
|
||||
doStop(realStopTaskInstanceDTO);
|
||||
} catch (Exception e) {
|
||||
log.error("停止任务执行失败", e);
|
||||
log.error("停止任务执行失败. [{}]", JsonUtil.toJsonString(realStopTaskInstanceDTO), e);
|
||||
}
|
||||
}).build();
|
||||
}
|
||||
|
@ -223,6 +223,8 @@ public class WorkflowBatchServiceImpl implements WorkflowBatchService {
|
||||
public Boolean stop(Long id) {
|
||||
WorkflowTaskBatch workflowTaskBatch = workflowTaskBatchMapper.selectById(id);
|
||||
Assert.notNull(workflowTaskBatch, () -> new SnailJobServerException("workflow batch can not be null."));
|
||||
Assert.isTrue(JobTaskBatchStatusEnum.NOT_COMPLETE.contains(workflowTaskBatch.getTaskBatchStatus()),
|
||||
() -> new SnailJobServerException("workflow batch status completed."));
|
||||
|
||||
workflowBatchHandler.stop(id, JobOperationReasonEnum.MANNER_STOP.getReason());
|
||||
return Boolean.TRUE;
|
||||
|
Loading…
Reference in New Issue
Block a user