|
|
@ -14,6 +14,8 @@ abstract public class DiTaskStepTaskBase extends DiTaskBase { |
|
|
|
public List<DiTaskStep> steps; |
|
|
|
// step index |
|
|
|
public Integer stepIndex; |
|
|
|
// current step |
|
|
|
public DiTaskStep currentStep; |
|
|
|
|
|
|
|
// setup task |
|
|
|
abstract protected void setup(); |
|
|
@ -39,8 +41,14 @@ abstract public class DiTaskStepTaskBase extends DiTaskBase { |
|
|
|
break ; |
|
|
|
} |
|
|
|
|
|
|
|
DiTaskStep step = this.steps.get(this.stepIndex); |
|
|
|
this.executeStep(step); |
|
|
|
this.currentStep = this.steps.get(this.stepIndex); |
|
|
|
this.executeStep(this.currentStep); |
|
|
|
|
|
|
|
// 如果是步骤等待状态,则ready后仍然需要执行该步骤 |
|
|
|
if ( TaskStatus.STEP_WAITING.equals(this.getStatus()) ) { |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
this.stepIndex++; |
|
|
|
if ( !TaskStatus.RUNNING.equals(this.getStatus()) ) { |
|
|
|
break; |
|
|
@ -56,7 +64,13 @@ abstract public class DiTaskStepTaskBase extends DiTaskBase { |
|
|
|
|
|
|
|
// execute step |
|
|
|
private void executeStep( DiTaskStep step ) { |
|
|
|
LOG.info("[Task #{}] - Step {} => {}", this.getUUID(), step.getAction(), step.getStepNode().toString()); |
|
|
|
String option = "{}"; |
|
|
|
var stepNode = step.getStepNode(); |
|
|
|
if ( null != stepNode ) { |
|
|
|
option = stepNode.toString(); |
|
|
|
} |
|
|
|
LOG.info("[Task #{}] - Step {} => {}", this.getUUID(), step.getAction(), option); |
|
|
|
this.setRuntimeMessage("Step " + step.getAction() + " => " + option); |
|
|
|
step.run(); |
|
|
|
} |
|
|
|
|
|
|
@ -85,4 +99,9 @@ abstract public class DiTaskStepTaskBase extends DiTaskBase { |
|
|
|
this.steps.add(step); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public DiTaskStep getStep() { |
|
|
|
return this.currentStep; |
|
|
|
} |
|
|
|
} |