From acb7da541e206547107814b2be16e331da4fdf45 Mon Sep 17 00:00:00 2001 From: duanhf2012 Date: Wed, 18 Aug 2021 09:47:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=AE=9A=E6=97=B6=E5=99=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=99=84=E5=B8=A6TimerId=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service/module.go | 6 +++--- util/timer/timer.go | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/service/module.go b/service/module.go index 6ae6651..5117af9 100644 --- a/service/module.go +++ b/service/module.go @@ -230,7 +230,7 @@ func (m *Module) cb(*timer.Timer){ } -func (m *Module) SafeAfterFunc(timerId *uint64,d time.Duration, AdditionData interface{},cb func(interface{})) { +func (m *Module) SafeAfterFunc(timerId *uint64,d time.Duration, AdditionData interface{},cb func(uint64,interface{})) { if m.mapActiveIdTimer == nil { m.mapActiveIdTimer = map[uint64]timer.ITimer{} } @@ -246,7 +246,7 @@ func (m *Module) SafeAfterFunc(timerId *uint64,d time.Duration, AdditionData int m.mapActiveIdTimer[*timerId] = t } -func (m *Module) SafeCronFunc(cronId *uint64,cronExpr *timer.CronExpr, AdditionData interface{}, cb func(interface{})) { +func (m *Module) SafeCronFunc(cronId *uint64,cronExpr *timer.CronExpr, AdditionData interface{}, cb func(uint64,interface{})) { if m.mapActiveIdTimer == nil { m.mapActiveIdTimer = map[uint64]timer.ITimer{} } @@ -258,7 +258,7 @@ func (m *Module) SafeCronFunc(cronId *uint64,cronExpr *timer.CronExpr, AdditionD m.mapActiveIdTimer[*cronId] = c } -func (m *Module) SafeNewTicker(tickerId *uint64,d time.Duration, AdditionData interface{}, cb func(interface{})) { +func (m *Module) SafeNewTicker(tickerId *uint64,d time.Duration, AdditionData interface{}, cb func(uint64,interface{})) { if m.mapActiveIdTimer == nil { m.mapActiveIdTimer = map[uint64]timer.ITimer{} } diff --git a/util/timer/timer.go b/util/timer/timer.go index fb4948d..e7a7b16 100644 --- a/util/timer/timer.go +++ b/util/timer/timer.go @@ -33,7 +33,7 @@ type Timer struct { C chan ITimer //定时器管道 interval time.Duration // 时间间隔(用于循环定时器) fireTime time.Time // 触发时间 - cb func(interface{}) + cb func(uint64,interface{}) cbEx func(t *Timer) cbCronEx func(t *Cron) cbTickerEx func(t *Ticker) @@ -67,7 +67,7 @@ var tickerPool =sync.NewPoolEx(make(chan sync.IPoolData,1000),func() sync.IPoolD return &Ticker{} }) -func newTimer(d time.Duration,c chan ITimer,cb func(interface{}),additionData interface{}) *Timer{ +func newTimer(d time.Duration,c chan ITimer,cb func(uint64,interface{}),additionData interface{}) *Timer{ timer := timerPool.Get().(*Timer) timer.AdditionData = additionData timer.C = c @@ -145,7 +145,7 @@ func (t *Timer) Do(){ } if t.cb != nil { - t.cb(t.AdditionData) + t.cb(t.Id,t.AdditionData) }else if t.cbEx != nil { t.cbEx(t) } @@ -236,7 +236,7 @@ func (c *Cron) Do() { } if c.cb!=nil { - c.cb(c.AdditionData) + c.cb(c.Id,c.AdditionData) }else if c.cbEx !=nil { c.cbCronEx(c) } @@ -286,7 +286,7 @@ func (c *Ticker) Do() { } if c.cb!=nil{ - c.cb(c.AdditionData) + c.cb(c.Id,c.AdditionData) } else if c.cbTickerEx != nil{ c.cbTickerEx(c) } @@ -324,7 +324,7 @@ func NewDispatcher(l int) *Dispatcher { return dispatcher } -func (dispatcher *Dispatcher) AfterFunc(d time.Duration, cb func(data interface{}),cbEx func(*Timer),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Timer { +func (dispatcher *Dispatcher) AfterFunc(d time.Duration, cb func(uint64,interface{}),cbEx func(*Timer),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Timer { timer := newTimer(d,dispatcher.ChanTimer,nil,nil) timer.cb = cb timer.cbEx = cbEx @@ -338,7 +338,7 @@ func (dispatcher *Dispatcher) AfterFunc(d time.Duration, cb func(data interface{ return timer } -func (dispatcher *Dispatcher) CronFunc(cronExpr *CronExpr,cb func(data interface{}), cbEx func(*Cron),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Cron { +func (dispatcher *Dispatcher) CronFunc(cronExpr *CronExpr,cb func(uint64,interface{}), cbEx func(*Cron),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Cron { now := Now() nextTime := cronExpr.Next(now) if nextTime.IsZero() { @@ -358,7 +358,7 @@ func (dispatcher *Dispatcher) CronFunc(cronExpr *CronExpr,cb func(data interface return cron } -func (dispatcher *Dispatcher) TickerFunc(d time.Duration,cb func(data interface{}), cbEx func(*Ticker),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Ticker { +func (dispatcher *Dispatcher) TickerFunc(d time.Duration,cb func(uint64,interface{}), cbEx func(*Ticker),onTimerClose OnCloseTimer,onAddTimer OnAddTimer) *Ticker { ticker := newTicker() ticker.C = dispatcher.ChanTimer ticker.fireTime = Now().Add(d)