Documentation ¶
Index ¶
- Constants
- func IsEmptyTask(task Task) bool
- type Collection
- type CommandCapturer
- type CommandPrefixer
- type ExecutionStep
- type RunnerStatus
- type Scheduler
- type SchedulerStatus
- type Task
- type TaskList
- func (t *TaskList) InsertAfter(other TaskList)
- func (t *TaskList) InsertBefore(other TaskList)
- func (t *TaskList) IsEmpty() bool
- func (t *TaskList) MergePostAligned(other TaskList)
- func (t *TaskList) MergePreAligned(other TaskList)
- func (t *TaskList) RemoveEmptyStagesAndTasks()
- func (t *TaskList) Split() (pre TaskList, main ExecutionStep, post TaskList)
- type TaskRunner
- type TaskTreeNode
- func (t *TaskTreeNode) AddPostChild(child ...*TaskTreeNode)
- func (t *TaskTreeNode) AddPreChild(child ...*TaskTreeNode)
- func (t *TaskTreeNode) CountStages() int
- func (t *TaskTreeNode) FindNode(name string) *TaskTreeNode
- func (t *TaskTreeNode) FindParent(name string) *TaskTreeNode
- func (t *TaskTreeNode) Flatten() TaskList
- func (t *TaskTreeNode) RemoveEmptyNodes()
Constants ¶
View Source
const ( StatusPending = 1 StatusRunning = 2 StatusDone = 3 StatusError = 4 StatusCanceled = 5 )
Variables ¶
This section is empty.
Functions ¶
func IsEmptyTask ¶
Types ¶
type Collection ¶
type Collection []*TaskTreeNode
func NewCollection ¶
func NewCollection(nodes ...*TaskTreeNode) Collection
type CommandCapturer ¶
type CommandCapturer struct {
// contains filtered or unexported fields
}
func NewCapturer ¶
func NewCapturer() *CommandCapturer
func (*CommandCapturer) Bytes ¶
func (cc *CommandCapturer) Bytes() []byte
func (*CommandCapturer) String ¶
func (cc *CommandCapturer) String() string
type CommandPrefixer ¶
type CommandPrefixer struct {
// contains filtered or unexported fields
}
func NewPrefixer ¶
func NewPrefixer(prefix string, dest io.Writer) *CommandPrefixer
type ExecutionStep ¶
func NewExecutionStep ¶
func NewExecutionStep(name string, tasks []Task, isLongRunning bool) ExecutionStep
type RunnerStatus ¶
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
func NewScheduler ¶
func NewScheduler() *Scheduler
func (*Scheduler) CancelTask ¶
func (*Scheduler) Status ¶
func (s *Scheduler) Status() SchedulerStatus
func (*Scheduler) Updates ¶
func (s *Scheduler) Updates() <-chan SchedulerStatus
type SchedulerStatus ¶
type Task ¶
func NewBasicCommandTask ¶
type TaskList ¶
type TaskList struct { Name string Steps []ExecutionStep }
func NewTaskList ¶
func NewTaskList(name string, steps []ExecutionStep) TaskList
func (*TaskList) InsertAfter ¶
func (*TaskList) InsertBefore ¶
func (*TaskList) MergePostAligned ¶
func (*TaskList) MergePreAligned ¶
func (*TaskList) RemoveEmptyStagesAndTasks ¶
func (t *TaskList) RemoveEmptyStagesAndTasks()
type TaskRunner ¶
type TaskRunner struct {
// contains filtered or unexported fields
}
func NewParallelRunner ¶
func NewParallelRunner(name string, tasks []Task, maxConcurrency int) *TaskRunner
func NewSequentialRunner ¶
func NewSequentialRunner(name string, tasks []Task) *TaskRunner
func (*TaskRunner) Cancel ¶
func (tr *TaskRunner) Cancel() error
func (*TaskRunner) Name ¶
func (tr *TaskRunner) Name() string
func (*TaskRunner) Run ¶
func (tr *TaskRunner) Run() error
func (*TaskRunner) Status ¶
func (tr *TaskRunner) Status() RunnerStatus
func (*TaskRunner) Updates ¶
func (tr *TaskRunner) Updates() <-chan RunnerStatus
type TaskTreeNode ¶
type TaskTreeNode struct { Name string Pre []*TaskTreeNode Main Task Post []*TaskTreeNode Parent *TaskTreeNode IsLongRunning bool }
func NewTaskTree ¶
func NewTaskTree(name string, mainTask Task, isLongRunning bool) *TaskTreeNode
func (*TaskTreeNode) AddPostChild ¶
func (t *TaskTreeNode) AddPostChild(child ...*TaskTreeNode)
func (*TaskTreeNode) AddPreChild ¶
func (t *TaskTreeNode) AddPreChild(child ...*TaskTreeNode)
func (*TaskTreeNode) CountStages ¶
func (t *TaskTreeNode) CountStages() int
func (*TaskTreeNode) FindNode ¶
func (t *TaskTreeNode) FindNode(name string) *TaskTreeNode
func (*TaskTreeNode) FindParent ¶
func (t *TaskTreeNode) FindParent(name string) *TaskTreeNode
func (*TaskTreeNode) Flatten ¶
func (t *TaskTreeNode) Flatten() TaskList
func (*TaskTreeNode) RemoveEmptyNodes ¶
func (t *TaskTreeNode) RemoveEmptyNodes()
Click to show internal directories.
Click to hide internal directories.