# Functions
GCPodName generates a pod name for GC pod.
GetExecutionContext gets execution context from WorkflowRun, if not found, use the default context in workflow controller configuration.
HasTimedOut checks whether the WorkflowRun has timed out.
IsTrivial returns whether a stage is trivial in a workflow.
NewEventUpdater creates an event updater.
NewGCProcessor create new GC processor.
NewLimitedQueues creates a limited queues for WorkflowRuns, and start auto scan.
NewOperator create a new operator.
NewParallelismController creates a ParallelismController.
NewQueue creates a limited sorted queue.
NewTimeoutProcessor creates a timeout manager and run it.
NewWorkloadProcessor ...
NextStages determine next stages that can be started to execute.
ParseTime parses time string like '30min', '2h30m' to time.Time.
# Constants
AttemptActionFailed represents the WorkflowRun will fail directly due to queue full.
AttemptActionQueued represents the WorkflowRun is queued.
AttemptActionStart represents the WorkflowRun can start to run.
# Structs
GCProcessor processes garbage collection for WorkflowRun objects.
LimitedQueues manages WorkflowRun queue for each Workflow.
LimitedSortedQueue is a sorted fixed length queue implemented with single linked list.
Node represents a WorkflowRun in the queue.
TimeoutProcessor manages timeout of WorkflowRun.
WorkloadProcessor processes stage workload.
# Interfaces
EventUpdater update events to the stage status of corresponding workflowRun's status.
Operator is used to perform operations on a WorkflowRun instance, such as update status, run next stages, garbage collection, etc.
ParallelismController is an interface to manage parallelism of WorkflowRun executions.
PodEventWatcher watches Kubernetes events for a pod and records Warning type events to WorkflowRun status.
# Type aliases
AttemptAction defines the action while try to run a new workflowRun.