来源:hgdjnet-server 9bfbafe10d417deea959bd53117bc88a10e60a83 项目身份 HKDJ / JHA-216,独立官网仓库,Jenkins 守卫键 hkdjnet 测试目录 /server/hkdj_net,App/Web API 30331/30332 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
27 lines
595 B
Go
27 lines
595 B
Go
package godef
|
|
|
|
import (
|
|
"hkdj-web-server/pub/common/log"
|
|
"hkdj-web-server/pub/common/tgbot"
|
|
"runtime"
|
|
)
|
|
|
|
func Go(f func()) {
|
|
//atomic.AddInt64(&routineCount, 1)
|
|
go func() {
|
|
defer func() {
|
|
//atomic.AddInt64(&routineCount, -1)
|
|
if r := recover(); r != nil {
|
|
buf := make([]byte, 2048)
|
|
length := runtime.Stack(buf, false)
|
|
info := string(buf[:length])
|
|
log.Error("cat a unkown excetion", log.Any("excetion :", info), log.Any("e", r))
|
|
//发送tg消息
|
|
msg := "goroutine crash,the stack:\n" + info
|
|
tgbot.SendToProgram("程序异常", msg)
|
|
}
|
|
}()
|
|
f()
|
|
}()
|
|
}
|