/// <summary> /// Called after every workflow execution round, /// every exectuon pointer with no end time, even if this step was not executed in this round /// </summary> /// <param name="executorResult"></param> /// <param name="defintion"></param> /// <param name="workflow"></param> /// <param name="executionPointer"></param> public virtual void AfterWorkflowIteration(WorkflowExecutorResult executorResult, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer) { }
public virtual ExecutionPipelineDirective InitForExecution(WorkflowExecutorResult executorResult, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer) { return(ExecutionPipelineDirective.Next); }
public override ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer) { if (!executionPointer.EventPublished) { if (EventKey != null) { executionPointer.EventKey = Convert.ToString(EventKey.Compile().DynamicInvoke(workflow.Data)); } executionPointer.EventName = EventName; executionPointer.Active = false; persistenceStore.PersistWorkflow(workflow).Wait(); host.SubscribeEvent(workflow.Id, executionPointer.StepId, executionPointer.EventName, executionPointer.EventKey).Wait(); return(ExecutionPipelineDirective.Defer); } return(ExecutionPipelineDirective.Next); }
public override ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer) { if (!executionPointer.EventPublished) { executionPointer.EventKey = EventKey; executionPointer.EventName = EventName; executionPointer.Active = false; persistenceStore.PersistWorkflow(workflow).Wait(); host.SubscribeEvent(workflow.Id, executionPointer.StepId, executionPointer.EventName, executionPointer.EventKey).Wait(); return(ExecutionPipelineDirective.Defer); } return(ExecutionPipelineDirective.Next); }
public virtual ExecutionPipelineDirective InitForExecution(IWorkflowHost host, IPersistenceProvider persistenceStore, WorkflowDefinition defintion, WorkflowInstance workflow, ExecutionPointer executionPointer) { return(ExecutionPipelineDirective.Next); }