Documentation ¶
Index ¶
Constants ¶
View Source
const ( // MessageFailedAfterRetries is the message of failed after retries MessageFailedAfterRetries = "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 // MaxWorkflowWaitBackoffTime is the max time to wait before reconcile wait workflow again MaxWorkflowWaitBackoffTime = 60 // MaxWorkflowFailedBackoffTime is the max time to wait before reconcile failed workflow again MaxWorkflowFailedBackoffTime = 300 )
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 HandleSuspendWait(ctx monitorContext.Context) (bool, time.Duration, error) }
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.