progress

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 27, 2023 License: MIT Imports: 7 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RunJob

func RunJob(jobName, funcName string, job ProgressJob, magnitude int, setupInput interface{}, runInput interface{}) error

func ShouldShowBar

func ShouldShowBar() bool

Types

type Job

type Job struct {
	Name      string
	Tasks     map[string]*Task
	StartTime *time.Time
	EndTime   *time.Time
	Took      *time.Duration
	Magnitude float64
	Progress  int // 0-100
	Bar       *uiprogress.Bar
}

func NewJob

func NewJob(name string, numTasks int) *Job

func SetupJob

func SetupJob(jobName string, tasks []*Task) *Job

func (*Job) AddTask

func (j *Job) AddTask(t *Task)

func (*Job) AddTasks

func (j *Job) AddTasks(tasks []*Task)

func (*Job) CalculateMagnitude

func (j *Job) CalculateMagnitude()

func (*Job) End

func (j *Job) End(stopProgress bool)

func (*Job) EndBar

func (j *Job) EndBar()

func (*Job) GetCompletedMagnitude

func (j *Job) GetCompletedMagnitude() float64

func (*Job) GetDone

func (j *Job) GetDone() (int, error)

func (*Job) GetProgress

func (j *Job) GetProgress() (float64, error)

func (*Job) GetRemaining

func (j *Job) GetRemaining() (string, error)

func (*Job) GetStartTime

func (j *Job) GetStartTime() *time.Time

func (*Job) GetStatus

func (j *Job) GetStatus() (string, error)

func (*Job) GetTask

func (j *Job) GetTask(id string) (*Task, error)

func (*Job) GetTasks

func (j *Job) GetTasks() map[string]*Task

func (*Job) GetTook

func (j *Job) GetTook() *time.Duration

func (*Job) IncrBar

func (j *Job) IncrBar()

func (*Job) SetBar

func (j *Job) SetBar(v int)

func (*Job) Start

func (j *Job) Start() error

func (*Job) String

func (j *Job) String() string

func (*Job) UpdateBar

func (j *Job) UpdateBar()

type ProgressJob

type ProgressJob interface {
	Setup(jobName string, input interface{}) (*Job, error)
	Run(job *Job, input interface{}) (interface{}, error)
}

type ProgressTask

type ProgressTask interface {
	Start()
	End()
}

type Task

type Task struct {
	ID        string
	Magnitude float64
	StartTime *time.Time
	Took      *time.Duration
}

func (*Task) End

func (t *Task) End()

func (*Task) GetTook

func (t *Task) GetTook() *time.Duration

func (*Task) Start

func (t *Task) Start()

func (*Task) String

func (t *Task) String() string

Directories

Path Synopsis
example
fanout
nolint
nolint
full
nolint
nolint
magnitude
nolint
nolint

Jump to

Keyboard shortcuts

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