diff --git a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStepTaskBase.java b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStepTaskBase.java index ba56b3f..0cc480b 100644 --- a/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStepTaskBase.java +++ b/src/src/main/java/com/my/graphiteDigesterBg/diframe/DiTaskStepTaskBase.java @@ -14,6 +14,8 @@ abstract public class DiTaskStepTaskBase extends DiTaskBase { public List 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; + } }