Documentation
¶
Index ¶
- Constants
- Variables
- func IsBuiltinWorkflowStepType(wfType string) bool
- func IsStepFinish(phase common.WorkflowStepPhase, reason string) bool
- type Action
- type Engine
- type GeneratorOptions
- type Operation
- type PreCheckOptions
- type PreCheckResult
- type TaskDiscover
- type TaskGenerator
- type TaskPostStopHook
- type TaskPreCheckHook
- type TaskPreStartHook
- type TaskRunOptions
- type TaskRunner
Constants ¶
View Source
const (
// ContextKeyMetadata is key that refer to application metadata.
ContextKeyMetadata = "metadata__"
// ContextPrefixFailedTimes is the prefix that refer to the failed times of the step in workflow context config map.
ContextPrefixFailedTimes = "failed_times"
// ContextPrefixBackoffTimes is the prefix that refer to the backoff times in workflow context config map.
ContextPrefixBackoffTimes = "backoff_times"
// ContextPrefixBackoffReason is the prefix that refer to the current backoff reason in workflow context config map
ContextPrefixBackoffReason = "backoff_reason"
// ContextKeyLastExecuteTime is the key that refer to the last execute time in workflow context config map.
ContextKeyLastExecuteTime = "last_execute_time"
// ContextKeyNextExecuteTime is the key that refer to the next execute time in workflow context config map.
ContextKeyNextExecuteTime = "next_execute_time"
)
View Source
const (
// WorkflowStepTypeSuspend type suspend
WorkflowStepTypeSuspend = "suspend"
// WorkflowStepTypeApplyComponent type apply-component
WorkflowStepTypeApplyComponent = "apply-component"
// WorkflowStepTypeBuiltinApplyComponent type builtin-apply-component
WorkflowStepTypeBuiltinApplyComponent = "builtin-apply-component"
// WorkflowStepTypeStepGroup type step-group
WorkflowStepTypeStepGroup = "step-group"
)
View Source
const (
// StatusReasonWait is the reason of the workflow progress condition which is Wait.
StatusReasonWait = "Wait"
// StatusReasonSkip is the reason of the workflow progress condition which is Skip.
StatusReasonSkip = "Skip"
// StatusReasonRendering is the reason of the workflow progress condition which is Rendering.
StatusReasonRendering = "Rendering"
// StatusReasonExecute is the reason of the workflow progress condition which is Execute.
StatusReasonExecute = "Execute"
// StatusReasonSuspend is the reason of the workflow progress condition which is Suspend.
StatusReasonSuspend = "Suspend"
// StatusReasonTerminate is the reason of the workflow progress condition which is Terminate.
StatusReasonTerminate = "Terminate"
// StatusReasonParameter is the reason of the workflow progress condition which is ProcessParameter.
StatusReasonParameter = "ProcessParameter"
// StatusReasonOutput is the reason of the workflow progress condition which is Output.
StatusReasonOutput = "Output"
// StatusReasonFailedAfterRetries is the reason of the workflow progress condition which is FailedAfterRetries.
StatusReasonFailedAfterRetries = "FailedAfterRetries"
// StatusReasonTimeout is the reason of the workflow progress condition which is Timeout.
StatusReasonTimeout = "Timeout"
// StatusReasonAction is the reason of the workflow progress condition which is Action.
StatusReasonAction = "Action"
)
Variables ¶
View Source
var (
// MaxWorkflowStepErrorRetryTimes is the max retry times of the failed workflow step.
MaxWorkflowStepErrorRetryTimes = 10
// 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 IsBuiltinWorkflowStepType ¶ added in v1.3.0
func IsBuiltinWorkflowStepType(wfType string) bool
IsBuiltinWorkflowStepType checks if workflow step type is builtin type
func IsStepFinish ¶ added in v1.5.0
func IsStepFinish(phase common.WorkflowStepPhase, reason string) bool
IsStepFinish will decide whether step is finish.
Types ¶
type Action ¶
type Action interface {
Suspend(message string)
Terminate(message string)
Wait(message string)
Fail(message string)
}
Action is that workflow provider can do.
type Engine ¶ added in v1.4.0
type Engine interface {
Run(taskRunners []TaskRunner, dag bool) error
GetStepStatus(stepName string) common.WorkflowStepStatus
GetCommonStepStatus(stepName string) common.StepStatus
SetParentRunner(name string)
GetOperation() *Operation
}
Engine is the engine to run workflow
type GeneratorOptions ¶ added in v1.1.1
type GeneratorOptions struct {
ID string
PrePhase common.WorkflowStepPhase
StepConvertor func(step v1beta1.WorkflowStep) (v1beta1.WorkflowStep, error)
SubTaskRunners []TaskRunner
PackageDiscover *packages.PackageDiscover
ProcessContext process.Context
ExecuteMode common.WorkflowMode
}
GeneratorOptions is the options for generate task.
type Operation ¶
type Operation struct {
Suspend bool
Terminated bool
Waiting bool
Skip bool
FailedAfterRetries bool
}
Operation is workflow operation object.
type PreCheckOptions ¶ added in v1.5.0
type PreCheckOptions struct {
PackageDiscover *packages.PackageDiscover
ProcessContext process.Context
}
PreCheckOptions is the options for pre check.
type PreCheckResult ¶ added in v1.5.0
type PreCheckResult struct {
Skip bool
Timeout bool
}
PreCheckResult is the result of pre check.
type TaskDiscover ¶
type TaskDiscover interface {
GetTaskGenerator(ctx context.Context, name string) (TaskGenerator, error)
}
TaskDiscover is the interface to obtain the TaskGenerator。
type TaskGenerator ¶
type TaskGenerator func(wfStep v1beta1.WorkflowStep, options *GeneratorOptions) (TaskRunner, error)
TaskGenerator will generate taskRunner.
type TaskPostStopHook ¶ added in v1.1.1
type TaskPostStopHook func(ctx wfContext.Context, taskValue *value.Value, step v1beta1.WorkflowStep, status common.StepStatus, stepStatus map[string]common.StepStatus) error
TaskPostStopHook run after task execution.
type TaskPreCheckHook ¶ added in v1.5.0
type TaskPreCheckHook func(step v1beta1.WorkflowStep, options *PreCheckOptions) (*PreCheckResult, error)
TaskPreCheckHook is the hook for pre check.
type TaskPreStartHook ¶ added in v1.1.1
type TaskPreStartHook func(ctx wfContext.Context, paramValue *value.Value, step v1beta1.WorkflowStep) error
TaskPreStartHook run before task execution.
type TaskRunOptions ¶ added in v1.1.1
type TaskRunOptions struct {
Data *value.Value
PCtx process.Context
PreCheckHooks []TaskPreCheckHook
PreStartHooks []TaskPreStartHook
PostStopHooks []TaskPostStopHook
GetTracer func(id string, step v1beta1.WorkflowStep) monitorCtx.Context
RunSteps func(isDag bool, runners ...TaskRunner) (*common.WorkflowStatus, error)
Debug func(step string, v *value.Value) error
StepStatus map[string]common.StepStatus
Engine Engine
}
TaskRunOptions is the options for task run.
type TaskRunner ¶
type TaskRunner interface {
Name() string
Pending(ctx wfContext.Context, stepStatus map[string]common.StepStatus) (bool, common.StepStatus)
Run(ctx wfContext.Context, options *TaskRunOptions) (common.StepStatus, *Operation, error)
}
TaskRunner is a task runner.
Click to show internal directories.
Click to hide internal directories.