btimer

package
v0.0.0-...-c113072 Latest Latest
Warning

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

Go to latest
Published: Aug 8, 2023 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StatusReady   = 0
	StatusRunning = 1
	StatusStopped = 2
	StatusClosed  = -1
)

Variables

This section is empty.

Functions

func DelayAdd

func DelayAdd(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func DelayAddEntry

func DelayAddEntry(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc, isSingleton bool, times int32, status int32)

func DelayAddOnce

func DelayAddOnce(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func DelayAddSingleton

func DelayAddSingleton(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func DelayAddTimes

func DelayAddTimes(ctx context.Context, delay time.Duration, interval time.Duration, times int32, job JobFunc)

func Exit

func Exit()

func SetInterval

func SetInterval(ctx context.Context, interval time.Duration, job JobFunc)

func SetTimeout

func SetTimeout(ctx context.Context, delay time.Duration, job JobFunc)

Types

type Entry

type Entry struct {
	// contains filtered or unexported fields
}

func Add

func Add(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func AddEntry

func AddEntry(ctx context.Context, interval time.Duration, job JobFunc, isSingleton bool, times int32, status int32) *Entry

func AddOnce

func AddOnce(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func AddSingleton

func AddSingleton(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func AddTimes

func AddTimes(ctx context.Context, interval time.Duration, times int32, job JobFunc) *Entry

func (*Entry) Close

func (entry *Entry) Close()

Close closes the job, and then it will be removed from the timer.

func (*Entry) Ctx

func (entry *Entry) Ctx() context.Context

Ctx returns the initialized context of this job.

func (*Entry) IsSingleton

func (entry *Entry) IsSingleton() bool

func (*Entry) Job

func (entry *Entry) Job() JobFunc

func (*Entry) Reset

func (entry *Entry) Reset()

func (*Entry) Run

func (entry *Entry) Run()

func (*Entry) SetStatus

func (entry *Entry) SetStatus(status int32) int32

func (*Entry) SetTimes

func (entry *Entry) SetTimes(times int32)

SetTimes sets the limit running times for the job.

func (*Entry) Start

func (entry *Entry) Start()

func (*Entry) Status

func (entry *Entry) Status() int32

func (*Entry) Stop

func (entry *Entry) Stop()

Stop stops the job.

type JobFunc

type JobFunc = func(ctx context.Context)

type Option

type Option struct {
	Interval time.Duration
}

func DefaultOptions

func DefaultOptions() Option

type Timer

type Timer struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

func New

func New(opt ...Option) *Timer

func (*Timer) Add

func (t *Timer) Add(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func (*Timer) AddEntry

func (t *Timer) AddEntry(ctx context.Context, interval time.Duration, job JobFunc, isSingleton bool, times int32, status int32) *Entry

func (*Timer) AddOnce

func (t *Timer) AddOnce(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func (*Timer) AddSingleton

func (t *Timer) AddSingleton(ctx context.Context, interval time.Duration, job JobFunc) *Entry

func (*Timer) AddTimes

func (t *Timer) AddTimes(ctx context.Context, interval time.Duration, times int32, job JobFunc) *Entry

func (*Timer) Close

func (t *Timer) Close()

Close closes the timer.

func (*Timer) DelayAdd

func (t *Timer) DelayAdd(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func (*Timer) DelayAddEntry

func (t *Timer) DelayAddEntry(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc, isSingleton bool, times int32, status int32)

func (*Timer) DelayAddOnce

func (t *Timer) DelayAddOnce(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func (*Timer) DelayAddSingleton

func (t *Timer) DelayAddSingleton(ctx context.Context, delay time.Duration, interval time.Duration, job JobFunc)

func (*Timer) DelayAddTimes

func (t *Timer) DelayAddTimes(ctx context.Context, delay time.Duration, interval time.Duration, times int32, job JobFunc)

func (*Timer) Start

func (t *Timer) Start()

func (*Timer) Stop

func (t *Timer) Stop()

Stop stops the timer.

Jump to

Keyboard shortcuts

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