runner

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2021 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CmdInfo

type CmdInfo struct {
	Cmd       *exec.Cmd
	IsProcess bool
	StdInPipe io.WriteCloser
	TaskName  string
}

CmdInfo represent information of Cmd

type Runner

type Runner struct {
	TaskNames       []string
	Conf            *config.Project
	TaskStatus      map[string]*TaskStatus
	TaskStatusMutex *sync.RWMutex
	CmdInfo         map[string]*CmdInfo
	CmdInfoMutex    *sync.RWMutex
	Killed          bool
	KilledMutex     *sync.RWMutex
	Done            bool
	DoneMutex       *sync.RWMutex
	StatusInterval  time.Duration
	StartTimeMutex  *sync.RWMutex
	StartTime       time.Time
	Spaces          string
}

Runner is used to run tasks

func NewRunner

func NewRunner(project *config.Project, taskNames []string, statusInterval time.Duration) (runner *Runner)

NewRunner create new runner

func (*Runner) Run

func (r *Runner) Run() (err error)

Run Tasks

func (*Runner) Terminate

func (r *Runner) Terminate()

Terminate all processes

type TaskStatus

type TaskStatus struct {
	Finished bool
	Error    error
}

TaskStatus represent task status

func NewTaskStatus

func NewTaskStatus() (ts *TaskStatus)

NewTaskStatus create new task status

func (*TaskStatus) Finish

func (ts *TaskStatus) Finish(err error)

Finish task status

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL