diff --git a/utils/timer/timer.go b/utils/timer/timer.go index fe2cb80..3c9f754 100644 --- a/utils/timer/timer.go +++ b/utils/timer/timer.go @@ -9,11 +9,7 @@ import ( var timer = new(Timer) func GetTicker(size int, options ...Option) *Ticker { - ticker := timer.NewTicker(size) - for _, option := range options { - option(ticker) - } - return ticker + return timer.NewTicker(size, options...) } type Timer struct { @@ -21,7 +17,7 @@ type Timer struct { lock sync.Mutex } -func (slf *Timer) NewTicker(size int) *Ticker { +func (slf *Timer) NewTicker(size int, options ...Option) *Ticker { slf.lock.Lock() defer slf.lock.Unlock() @@ -37,6 +33,9 @@ func (slf *Timer) NewTicker(size int) *Ticker { wheel: timingwheel.NewTimingWheel(timingWheelTick, int64(size)), timers: make(map[string]*Scheduler), } + for _, option := range options { + option(ticker) + } ticker.wheel.Start() return ticker }