2025-06-23 10:15:22 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2025-07-06 01:49:19 +08:00
|
|
|
"fmt"
|
|
|
|
|
"os"
|
2025-10-24 06:04:28 +00:00
|
|
|
"runtime"
|
2025-07-06 01:49:19 +08:00
|
|
|
|
2025-06-24 22:09:05 +08:00
|
|
|
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
2025-07-06 01:49:19 +08:00
|
|
|
"github.com/gogf/gf/v2/os/gproc"
|
|
|
|
|
|
|
|
|
|
_ "blazing/contrib/drivers/pgsql"
|
2025-09-14 01:35:16 +08:00
|
|
|
"blazing/logic/service/fight"
|
2025-10-24 23:14:36 +08:00
|
|
|
"blazing/logic/service/player"
|
2025-07-06 01:49:19 +08:00
|
|
|
|
2025-06-23 12:24:23 +08:00
|
|
|
"blazing/cool"
|
|
|
|
|
|
2025-07-06 01:49:19 +08:00
|
|
|
//"blazing/o/service"
|
2025-10-15 15:54:35 +00:00
|
|
|
"net/http"
|
|
|
|
|
_ "net/http/pprof"
|
2025-07-06 01:49:19 +08:00
|
|
|
|
2025-06-23 12:24:23 +08:00
|
|
|
"github.com/gogf/gf/v2/os/gctx"
|
2025-06-23 10:15:22 +08:00
|
|
|
)
|
|
|
|
|
|
2025-10-15 15:54:35 +00:00
|
|
|
func PprofWeb() {
|
2025-10-24 06:04:28 +00:00
|
|
|
runtime.SetMutexProfileFraction(1) // (非必需)开启对锁调用的跟踪
|
|
|
|
|
runtime.SetBlockProfileRate(1) // (非必需)开启对阻塞操作的跟踪
|
2025-10-15 15:54:35 +00:00
|
|
|
err := http.ListenAndServe(":9909", nil)
|
|
|
|
|
if err != nil {
|
|
|
|
|
panic(err)
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-07-06 01:49:19 +08:00
|
|
|
func signalHandlerForMain(sig os.Signal) {
|
2025-09-14 01:35:16 +08:00
|
|
|
fight.Fightpool.Release()
|
2025-10-24 23:14:36 +08:00
|
|
|
|
|
|
|
|
player.Mainplayer.Range(func(key uint32, value *player.Player) bool {
|
|
|
|
|
value.Save()
|
|
|
|
|
|
|
|
|
|
return true
|
|
|
|
|
})
|
2025-07-06 01:49:19 +08:00
|
|
|
fmt.Println("MainProcess is shutting down due to signal:", sig.String())
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-23 10:15:22 +08:00
|
|
|
func main() {
|
2025-07-06 11:38:02 +08:00
|
|
|
|
2025-06-23 12:24:23 +08:00
|
|
|
if cool.IsRedisMode {
|
|
|
|
|
go cool.ListenFunc(gctx.New())
|
|
|
|
|
}
|
2025-06-26 23:20:11 +08:00
|
|
|
|
2025-07-06 01:49:19 +08:00
|
|
|
go Start(cool.Config.PortBL) //注入service
|
2025-10-15 15:54:35 +00:00
|
|
|
if cool.Config.PortBL == 1 { //只分析1服务器的
|
|
|
|
|
go PprofWeb()
|
|
|
|
|
}
|
2025-07-06 17:05:10 +08:00
|
|
|
|
2025-07-06 01:49:19 +08:00
|
|
|
fmt.Println("Process start, pid:", os.Getpid())
|
2025-08-25 04:23:32 +08:00
|
|
|
|
2025-07-06 01:49:19 +08:00
|
|
|
gproc.AddSigHandlerShutdown(
|
|
|
|
|
|
|
|
|
|
signalHandlerForMain,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
gproc.Listen()
|
2025-06-23 10:15:22 +08:00
|
|
|
}
|