[Improvement]Add a stop function when you are ready to do pause operation (#11543)

* add can stop for execute state machine

* add execute type check for pause operation
This commit is contained in:
juzimao 2022-08-18 21:32:53 +08:00 committed by GitHub
parent 277c78010f
commit 3b72c6efe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 1 deletions

View File

@ -478,11 +478,15 @@ public class ExecutorServiceImpl extends BaseServiceImpl implements ExecutorServ
boolean checkResult = false;
switch (executeType) {
case PAUSE:
case STOP:
if (executionStatus.isRunning()) {
checkResult = true;
}
break;
case STOP:
if (executionStatus.canStop()) {
checkResult = true;
}
break;
case REPEAT_RUNNING:
if (executionStatus.isFinished()) {
checkResult = true;

View File

@ -71,6 +71,10 @@ public enum WorkflowExecutionStatus {
return this == RUNNING_EXECUTION;
}
public boolean canStop() {
return this == RUNNING_EXECUTION || this == READY_PAUSE;
}
public boolean isFinished() {
// todo: do we need to remove pause/block in finished judge?
return isSuccess() || isFailure() || isStop() || isPause() || isBlock();