timer

package
v2.1.9 Latest Latest
Warning

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

Go to latest
Published: Oct 16, 2025 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddTimeOffset added in v2.1.9

func AddTimeOffset(addOffset time.Duration)

AddTimeOffset 添加时间偏移量

func Now

func Now() time.Time

func ReleaseTimer

func ReleaseTimer(timer *Timer)

func SetTimeOffset added in v2.1.9

func SetTimeOffset(offset time.Duration)

SetTimeOffset 设置时间偏移量

func StartTimer

func StartTimer(minTimerInterval time.Duration, maxTimerNum int)

Types

type Cron

type Cron struct {
	Timer
}

func (*Cron) Do

func (c *Cron) Do()

func (*Cron) IsRef

func (c *Cron) IsRef() bool

func (*Cron) Ref

func (c *Cron) Ref()

func (*Cron) Reset

func (c *Cron) Reset()

func (*Cron) UnRef

func (c *Cron) UnRef()

type CronExpr

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

Field name | Mandatory? | Allowed values | Allowed special characters ---------- | ---------- | -------------- | -------------------------- Seconds | No | 0-59 | * / , - Minutes | Yes | 0-59 | * / , - Hours | Yes | 0-23 | * / , - Day of month | Yes | 1-31 | * / , - Month | Yes | 1-12 | * / , - Day of week | Yes | 0-6 | * / , -

func NewCronExpr

func NewCronExpr(expr string) (cronExpr *CronExpr, err error)

goroutine safe

func (*CronExpr) Next

func (e *CronExpr) Next(t time.Time) time.Time

goroutine safe

type Dispatcher

type Dispatcher struct {
	ChanTimer chan ITimer
}

func NewDispatcher

func NewDispatcher(l int) *Dispatcher

func (*Dispatcher) AfterFunc

func (dispatcher *Dispatcher) AfterFunc(d time.Duration, cb func(uint64, interface{}), cbEx func(*Timer), onTimerClose OnCloseTimer, onAddTimer OnAddTimer) *Timer

func (*Dispatcher) CronFunc

func (dispatcher *Dispatcher) CronFunc(cronExpr *CronExpr, cb func(uint64, interface{}), cbEx func(*Cron), onTimerClose OnCloseTimer, onAddTimer OnAddTimer) *Cron

func (*Dispatcher) TickerFunc

func (dispatcher *Dispatcher) TickerFunc(d time.Duration, cb func(uint64, interface{}), cbEx func(*Ticker), onTimerClose OnCloseTimer, onAddTimer OnAddTimer) *Ticker

type ITimer

type ITimer interface {
	GetId() uint64
	Cancel()
	GetName() string
	IsActive() bool
	IsOpen() bool
	Open(bOpen bool)
	AppendChannel(timer ITimer)
	Do()
	GetFireTime() time.Time
	SetupTimer(now time.Time) error
}

func SetupTimer

func SetupTimer(timer ITimer) ITimer

type OnAddTimer

type OnAddTimer func(timer ITimer)

type OnCloseTimer

type OnCloseTimer func(timer ITimer)

type Ticker

type Ticker struct {
	Timer
}

func (*Ticker) Do

func (c *Ticker) Do()

func (*Ticker) IsRef

func (c *Ticker) IsRef() bool

func (*Ticker) Ref

func (c *Ticker) Ref()

func (*Ticker) Reset

func (c *Ticker) Reset()

func (*Ticker) UnRef

func (c *Ticker) UnRef()

type Timer

type Timer struct {
	Id uint64

	C chan ITimer //定时器管道

	AdditionData interface{} //定时器附加数据
	// contains filtered or unexported fields
}

func NewTimer

func NewTimer(d time.Duration) *Timer

func (*Timer) AppendChannel

func (t *Timer) AppendChannel(timer ITimer)

func (*Timer) Cancel

func (t *Timer) Cancel()

func (*Timer) Do

func (t *Timer) Do()

func (*Timer) GetFireTime

func (t *Timer) GetFireTime() time.Time

func (*Timer) GetId

func (t *Timer) GetId() uint64

func (*Timer) GetInterval

func (t *Timer) GetInterval() time.Duration

func (*Timer) GetName

func (t *Timer) GetName() string

func (*Timer) IsActive

func (t *Timer) IsActive() bool

IsActive 判断定时器是否已经取消

func (*Timer) IsOpen

func (t *Timer) IsOpen() bool

func (*Timer) IsRef

func (t *Timer) IsRef() bool

func (*Timer) Open

func (t *Timer) Open(bOpen bool)

func (*Timer) Ref

func (t *Timer) Ref()

func (*Timer) Reset

func (t *Timer) Reset()

func (*Timer) SetupTimer

func (t *Timer) SetupTimer(now time.Time) error

func (*Timer) UnRef

func (t *Timer) UnRef()

Jump to

Keyboard shortcuts

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