jobs

package
v2.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddJob

func AddJob(delay time.Duration, job JobWorker)

Types

type JobItem

type JobItem struct {
	AddTime   int64     //添加时间
	StartTime int64     //开始时间
	Worker    JobWorker //任务对象
}

func NewJobItem

func NewJobItem(delay time.Duration, worker JobWorker) *JobItem

func (*JobItem) ExecJob

func (s *JobItem) ExecJob()

func (*JobItem) FinishJob

func (s *JobItem) FinishJob()

type JobKeeper

type JobKeeper struct {
	List    JobQueues
	Index   map[int64]*JobQueue
	AddChan chan *JobItem
}

func NewJobKeeper

func NewJobKeeper() *JobKeeper

func (*JobKeeper) AddJob

func (k *JobKeeper) AddJob(delay time.Duration, job JobWorker)

func (*JobKeeper) ExecJob

func (k *JobKeeper) ExecJob()

type JobQueue

type JobQueue struct {
	StartTime int64     //开始时间
	JobItems  *ds.Queue //任务队列
	// contains filtered or unexported fields
}

func NewJobQueue

func NewJobQueue(sTime int64) *JobQueue

func (*JobQueue) AddJob

func (s *JobQueue) AddJob(job *JobItem)

func (*JobQueue) ExeJob

func (s *JobQueue) ExeJob()

type JobQueues

type JobQueues []*JobQueue

func (JobQueues) Len

func (q JobQueues) Len() int

func (JobQueues) Less

func (q JobQueues) Less(i, j int) bool

func (JobQueues) Swap

func (q JobQueues) Swap(i, j int)

type JobWorker

type JobWorker interface {
	Name() string                    //任务名称
	BeforeExec()                     //任务执行前操作
	CanExec() bool                   //是否可以执行
	JobExec() bool                   //执行任务,返回执行是否完成
	FailNext() (bool, time.Duration) //失败是否继续执行并且延缓执行时间
	JobFinish()                      //任务执行完成触发
}

Jump to

Keyboard shortcuts

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