Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MessageTerminatedFailedAfterRetries is the message of failed after retries MessageTerminatedFailedAfterRetries = "The workflow terminates automatically because the failed times of steps have reached the limit" // MessageSuspendFailedAfterRetries is the message of failed after retries MessageSuspendFailedAfterRetries = "The workflow suspends automatically because the failed times of steps have reached the limit" // MessageInitializingWorkflow is the message of initializing workflow MessageInitializingWorkflow = "Initializing workflow" )
Variables ¶
View Source
var ( // DisableRecorder optimize workflow by disable recorder DisableRecorder = false // StepStatusCache cache the step status StepStatusCache sync.Map )
Functions ¶
func ComputeWorkflowRevisionHash ¶ added in v1.2.0
func ComputeWorkflowRevisionHash(rev string, app *oamcore.Application) (string, error)
ComputeWorkflowRevisionHash compute workflow revision.
func IsFailedAfterRetry ¶ added in v1.3.0
func IsFailedAfterRetry(app *oamcore.Application) bool
IsFailedAfterRetry check if application is hang due to FailedAfterRetry
Types ¶
type Workflow ¶
type Workflow interface { // ExecuteSteps executes the steps of an Application with given steps of rendered resources. // It returns done=true only if all steps are executed and succeeded. ExecuteSteps(ctx monitorContext.Context, appRev *v1beta1.ApplicationRevision, taskRunners []types.TaskRunner) (state common.WorkflowState, err error) // Trace record workflow state in controllerRevision. Trace() error // GetBackoffWaitTime returns the wait time for next retry. GetBackoffWaitTime() time.Duration GetSuspendBackoffWaitTime() time.Duration }
Workflow is used to execute the workflow steps of Application.
func NewWorkflow ¶
func NewWorkflow(app *oamcore.Application, cli client.Client, mode common.WorkflowMode, debug bool, rk resourcekeeper.ResourceKeeper) Workflow
NewWorkflow returns a Workflow implementation.
Click to show internal directories.
Click to hide internal directories.