Documentation
¶
Index ¶
- Variables
- type BranchNodeInfo
- type BranchNodeState
- type DynamicNodeInfo
- type DynamicNodePhase
- type DynamicNodeState
- type EPhase
- type ExecutionInfo
- type Node
- type NodeExecutionContext
- type NodeExecutionMetadata
- type NodeStateReader
- type NodeStateWriter
- type OutputInfo
- type PhaseInfo
- func PhaseInfoFailure(code, reason string, info *ExecutionInfo) PhaseInfo
- func PhaseInfoFailureErr(err *core.ExecutionError, info *ExecutionInfo) PhaseInfo
- func PhaseInfoNotReady(reason string) PhaseInfo
- func PhaseInfoQueued(reason string) PhaseInfo
- func PhaseInfoRetryableFailure(code, reason string, info *ExecutionInfo) PhaseInfo
- func PhaseInfoRetryableFailureErr(err *core.ExecutionError, info *ExecutionInfo) PhaseInfo
- func PhaseInfoRunning(info *ExecutionInfo) PhaseInfo
- func PhaseInfoSkip(info *ExecutionInfo, reason string) PhaseInfo
- func PhaseInfoSuccess(info *ExecutionInfo) PhaseInfo
- func PhaseInfoTimedOut(info *ExecutionInfo, reason string) PhaseInfo
- func (p PhaseInfo) GetErr() *core.ExecutionError
- func (p PhaseInfo) GetInfo() *ExecutionInfo
- func (p PhaseInfo) GetOccurredAt() time.Time
- func (p PhaseInfo) GetPhase() EPhase
- func (p PhaseInfo) GetReason() string
- func (p *PhaseInfo) SetErr(err *core.ExecutionError)
- func (p *PhaseInfo) SetInfo(info *ExecutionInfo)
- func (p *PhaseInfo) SetOcurredAt(t time.Time)
- func (p *PhaseInfo) SetReason() string
- type SetupContext
- type TaskNodeInfo
- type TaskNodeState
- type TaskReader
- type Transition
- type TransitionType
- type WorkflowNodeInfo
- type WorkflowNodeState
Constants ¶
This section is empty.
Variables ¶
View Source
var PhaseInfoUndefined = PhaseInfo{/* contains filtered or unexported fields */}
View Source
var UnknownTransition = Transition{TransitionTypeEphemeral, PhaseInfoUndefined}
Functions ¶
This section is empty.
Types ¶
type BranchNodeInfo ¶ added in v0.1.13
type BranchNodeInfo struct {
}
type BranchNodeState ¶ added in v0.1.13
type BranchNodeState struct {
FinalizedNodeID *v1alpha1.NodeID
Phase v1alpha1.BranchNodePhase
}
type DynamicNodeInfo ¶ added in v0.1.13
type DynamicNodeInfo struct {
}
type DynamicNodePhase ¶ added in v0.1.13
type DynamicNodePhase uint8
type DynamicNodeState ¶ added in v0.1.13
type DynamicNodeState struct {
Phase v1alpha1.DynamicNodePhase
Reason string
}
type ExecutionInfo ¶ added in v0.1.13
type ExecutionInfo struct {
DynamicNodeInfo *DynamicNodeInfo
WorkflowNodeInfo *WorkflowNodeInfo
BranchNodeInfo *BranchNodeInfo
OutputInfo *OutputInfo
TaskNodeInfo *TaskNodeInfo
}
type Node ¶ added in v0.1.13
type Node interface {
// Method to indicate that finalize is required for this handler
FinalizeRequired() bool
// Setup should be called, before invoking any other methods of this handler in a single thread context
Setup(ctx context.Context, setupContext SetupContext) error
// Core method that should handle this node
Handle(ctx context.Context, executionContext NodeExecutionContext) (Transition, error)
// This method should be invoked to indicate the node needs to be aborted.
Abort(ctx context.Context, executionContext NodeExecutionContext, reason string) error
// This method is always called before completing the node, if FinalizeRequired returns true.
// It is guaranteed that Handle -> (happens before) -> Finalize. Abort -> finalize may be repeated multiple times
Finalize(ctx context.Context, executionContext NodeExecutionContext) error
}
Interface that should be implemented for a node type.
type NodeExecutionContext ¶ added in v0.1.13
type NodeExecutionContext interface {
DataStore() *storage.DataStore
InputReader() io.InputReader
EventsRecorder() events.TaskEventRecorder
NodeID() v1alpha1.NodeID
Node() v1alpha1.ExecutableNode
CurrentAttempt() uint32
TaskReader() TaskReader
NodeStateReader() NodeStateReader
NodeStateWriter() NodeStateWriter
NodeExecutionMetadata() NodeExecutionMetadata
MaxDatasetSizeBytes() int64
EnqueueOwnerFunc() func() error
// Deprecated
Workflow() v1alpha1.ExecutableWorkflow
// TODO We should not need to pass NodeStatus, we probably only need it for DataDir, which should actually be sent using an OutputWriter interface
// Deprecated
NodeStatus() v1alpha1.ExecutableNodeStatus
}
type NodeExecutionMetadata ¶ added in v0.1.13
type NodeExecutionMetadata interface {
GetOwnerID() types.NamespacedName
// TODO we should covert this to a generic execution identifier instead of a workflow identifier
GetExecutionID() v1alpha1.WorkflowExecutionIdentifier
GetNamespace() string
GetOwnerReference() v1.OwnerReference
GetLabels() map[string]string
GetAnnotations() map[string]string
GetK8sServiceAccount() string
IsInterruptible() bool
}
type NodeStateReader ¶ added in v0.1.13
type NodeStateReader interface {
GetTaskNodeState() TaskNodeState
GetBranchNode() BranchNodeState
GetDynamicNodeState() DynamicNodeState
GetWorkflowNodeState() WorkflowNodeState
}
type NodeStateWriter ¶ added in v0.1.13
type NodeStateWriter interface {
PutTaskNodeState(s TaskNodeState) error
PutBranchNode(s BranchNodeState) error
PutDynamicNodeState(s DynamicNodeState) error
PutWorkflowNodeState(s WorkflowNodeState) error
}
type OutputInfo ¶ added in v0.1.13
type OutputInfo struct {
OutputURI storage.DataReference
}
type PhaseInfo ¶ added in v0.1.13
type PhaseInfo struct {
// contains filtered or unexported fields
}
func PhaseInfoFailure ¶ added in v0.1.13
func PhaseInfoFailure(code, reason string, info *ExecutionInfo) PhaseInfo
func PhaseInfoFailureErr ¶ added in v0.1.13
func PhaseInfoFailureErr(err *core.ExecutionError, info *ExecutionInfo) PhaseInfo
func PhaseInfoNotReady ¶ added in v0.1.13
func PhaseInfoQueued ¶ added in v0.1.13
func PhaseInfoRetryableFailure ¶ added in v0.1.13
func PhaseInfoRetryableFailure(code, reason string, info *ExecutionInfo) PhaseInfo
func PhaseInfoRetryableFailureErr ¶ added in v0.1.13
func PhaseInfoRetryableFailureErr(err *core.ExecutionError, info *ExecutionInfo) PhaseInfo
func PhaseInfoRunning ¶ added in v0.1.13
func PhaseInfoRunning(info *ExecutionInfo) PhaseInfo
func PhaseInfoSkip ¶ added in v0.1.13
func PhaseInfoSkip(info *ExecutionInfo, reason string) PhaseInfo
func PhaseInfoSuccess ¶ added in v0.1.13
func PhaseInfoSuccess(info *ExecutionInfo) PhaseInfo
func PhaseInfoTimedOut ¶ added in v0.1.17
func PhaseInfoTimedOut(info *ExecutionInfo, reason string) PhaseInfo
func (PhaseInfo) GetErr ¶ added in v0.1.13
func (p PhaseInfo) GetErr() *core.ExecutionError
func (PhaseInfo) GetInfo ¶ added in v0.1.13
func (p PhaseInfo) GetInfo() *ExecutionInfo
func (PhaseInfo) GetOccurredAt ¶ added in v0.1.13
func (*PhaseInfo) SetErr ¶ added in v0.1.13
func (p *PhaseInfo) SetErr(err *core.ExecutionError)
func (*PhaseInfo) SetInfo ¶ added in v0.1.13
func (p *PhaseInfo) SetInfo(info *ExecutionInfo)
func (*PhaseInfo) SetOcurredAt ¶ added in v0.1.13
type SetupContext ¶ added in v0.1.13
type TaskNodeInfo ¶ added in v0.1.13
type TaskNodeInfo struct {
CacheHit bool
}
type TaskNodeState ¶ added in v0.1.13
type TaskReader ¶ added in v0.1.13
type TaskReader interface {
Read(ctx context.Context) (*core.TaskTemplate, error)
GetTaskType() v1alpha1.TaskType
GetTaskID() *core.Identifier
}
type Transition ¶ added in v0.1.13
type Transition struct {
// contains filtered or unexported fields
}
func DoTransition ¶ added in v0.1.13
func DoTransition(ttype TransitionType, info PhaseInfo) Transition
func (Transition) Info ¶ added in v0.1.13
func (t Transition) Info() PhaseInfo
func (Transition) Type ¶ added in v0.1.13
func (t Transition) Type() TransitionType
func (Transition) WithInfo ¶ added in v0.1.13
func (t Transition) WithInfo(p PhaseInfo) Transition
type TransitionType ¶ added in v0.1.13
type TransitionType int
const ( TransitionTypeEphemeral TransitionType = iota TransitionTypeBarrier )
type WorkflowNodeInfo ¶ added in v0.1.13
type WorkflowNodeInfo struct {
LaunchedWorkflowID *core.WorkflowExecutionIdentifier
}
type WorkflowNodeState ¶ added in v0.1.13
type WorkflowNodeState struct {
Phase v1alpha1.WorkflowNodePhase
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.