fix: 修复异步慢消息追踪不生效的问题
This commit is contained in:
parent
e676982b9a
commit
7b8af0518e
|
@ -463,7 +463,7 @@ func (slf *Server) pushMessage(message *Message) {
|
||||||
func (slf *Server) low(message *Message, present time.Time) {
|
func (slf *Server) low(message *Message, present time.Time) {
|
||||||
cost := time.Since(present)
|
cost := time.Since(present)
|
||||||
if cost > time.Millisecond*100 {
|
if cost > time.Millisecond*100 {
|
||||||
log.Warn("Server", zap.String("MessageType", messageNames[message.t]), zap.String("LowExecCost", cost.String()))
|
log.Warn("Server", zap.String("LowExecCost", cost.String()), zap.Any("Message", message))
|
||||||
slf.OnMessageLowExecEvent(message, cost)
|
slf.OnMessageLowExecEvent(message, cost)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -526,7 +526,7 @@ func (slf *Server) dispatchMessage(msg *Message) {
|
||||||
attrs[0].(func())()
|
attrs[0].(func())()
|
||||||
case MessageTypeAsync:
|
case MessageTypeAsync:
|
||||||
handle := attrs[0].(func() error)
|
handle := attrs[0].(func() error)
|
||||||
callbacks := attrs[1].([]func(err error))
|
callback, cb := attrs[1].(func(err error))
|
||||||
if err := slf.ants.Submit(func() {
|
if err := slf.ants.Submit(func() {
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
|
@ -536,12 +536,13 @@ func (slf *Server) dispatchMessage(msg *Message) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
super.Handle(cancel)
|
super.Handle(cancel)
|
||||||
|
slf.low(msg, present)
|
||||||
if !slf.isShutdown.Load() {
|
if !slf.isShutdown.Load() {
|
||||||
slf.messagePool.Release(msg)
|
slf.messagePool.Release(msg)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
if err := handle(); err != nil {
|
if err := handle(); err != nil {
|
||||||
for _, callback := range callbacks {
|
if cb {
|
||||||
callback(err)
|
callback(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue