Documentation ¶
Index ¶
- type Config
- type ExecutionGraph
- type Node
- type NodeState
- type NodeStatus
- type Scheduler
- func (sc *Scheduler) Cancel(g *ExecutionGraph)
- func (sc *Scheduler) HandlerNode(name string) *Node
- func (sc *Scheduler) IsCanceled() bool
- func (sc *Scheduler) Schedule(ctx context.Context, g *ExecutionGraph, done chan *Node) error
- func (sc *Scheduler) Signal(g *ExecutionGraph, sig os.Signal, done chan bool, allowOverride bool)
- func (sc *Scheduler) Status(g *ExecutionGraph) SchedulerStatus
- type SchedulerStatus
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExecutionGraph ¶
type ExecutionGraph struct { StartedAt time.Time FinishedAt time.Time // contains filtered or unexported fields }
ExecutionGraph represents a graph of steps.
func NewExecutionGraph ¶
func NewExecutionGraph(steps ...*dag.Step) (*ExecutionGraph, error)
NewExecutionGraph creates a new execution graph with the given steps.
func NewExecutionGraphForRetry ¶
func NewExecutionGraphForRetry(nodes ...*Node) (*ExecutionGraph, error)
NewExecutionGraphForRetry creates a new execution graph for retry with given nodes.
func (*ExecutionGraph) Duration ¶
func (g *ExecutionGraph) Duration() time.Duration
Duration returns the duration of the execution.
func (*ExecutionGraph) Nodes ¶
func (g *ExecutionGraph) Nodes() []*Node
Nodes returns the nodes of the execution graph.
type Node ¶
Node is a node in a DAG. It executes a command.
func (*Node) ReadDoneCount ¶
func (*Node) ReadRetriedAt ¶
func (*Node) ReadRetryCount ¶
func (*Node) ReadStatus ¶
func (n *Node) ReadStatus() NodeStatus
ReadStatus reads the status of a node.
func (*Node) SetRetriedAt ¶
type NodeState ¶
type NodeState struct { Status NodeStatus Log string StartedAt time.Time FinishedAt time.Time RetryCount int RetriedAt time.Time DoneCount int Error error }
NodeState is the state of a node.
type NodeStatus ¶
type NodeStatus int
const ( NodeStatus_None NodeStatus = iota NodeStatus_Running NodeStatus_Error NodeStatus_Cancel NodeStatus_Success NodeStatus_Skipped )
func (NodeStatus) String ¶
func (s NodeStatus) String() string
type Scheduler ¶
type Scheduler struct { *Config // contains filtered or unexported fields }
Scheduler is a scheduler that runs a graph of steps.
func (*Scheduler) Cancel ¶
func (sc *Scheduler) Cancel(g *ExecutionGraph)
Cancel sends -1 signal to all nodes.
func (*Scheduler) HandlerNode ¶
HandlerNode returns the handler node with the given name.
func (*Scheduler) IsCanceled ¶
IsCanceled returns true if the scheduler is canceled.
func (*Scheduler) Signal ¶
Signal sends a signal to the scheduler. for a node with repeat policy, it does not stop the node and wait to finish current run.
func (*Scheduler) Status ¶
func (sc *Scheduler) Status(g *ExecutionGraph) SchedulerStatus
Status returns the status of the scheduler.
type SchedulerStatus ¶
type SchedulerStatus int
const ( SchedulerStatus_None SchedulerStatus = iota SchedulerStatus_Running SchedulerStatus_Error SchedulerStatus_Cancel SchedulerStatus_Success SchedulerStatus_Skipped_Unused )
func (SchedulerStatus) String ¶
func (s SchedulerStatus) String() string