feat(login): 重构 login 服务启动方式
- 修改 login 服务端口配置,支持动态分配 - 优化 login 服务启动流程,增加信号处理 - 调整 ServerOption 类型,支持 int 类型端口 - 移除 CommendSvrInfo 相关代码,简化结构 - 更新 main 函数,采用新的服务启动方式
This commit is contained in:
@@ -1,29 +1,70 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
|
||||
"github.com/gogf/gf/v2/os/gproc"
|
||||
|
||||
_ "blazing/contrib/drivers/pgsql"
|
||||
|
||||
"github.com/gogf/gf/v2/os/gcmd"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
|
||||
"blazing/common/socket"
|
||||
"blazing/common/socket/handler"
|
||||
"blazing/cool"
|
||||
"blazing/logic/controller"
|
||||
|
||||
//"blazing/o/service"
|
||||
|
||||
"blazing/modules/blazing/service"
|
||||
|
||||
"github.com/gogf/gf/v2/os/gctx"
|
||||
)
|
||||
|
||||
func signalHandlerForMain(sig os.Signal) {
|
||||
fmt.Println("MainProcess is shutting down due to signal:", sig.String())
|
||||
}
|
||||
|
||||
func main() {
|
||||
// 解析命令行参数
|
||||
cool.Config.PortBL = gcmd.GetOpt("port", "27000").String()
|
||||
cool.Config.PortBL = gcmd.GetOpt("port", "1").Uint32()
|
||||
if cool.IsRedisMode {
|
||||
go cool.ListenFunc(gctx.New())
|
||||
}
|
||||
|
||||
Start(cool.Config.PortBL) //注入service
|
||||
go Start(cool.Config.PortBL) //注入service
|
||||
fmt.Println("Process start, pid:", os.Getpid())
|
||||
gproc.AddSigHandlerShutdown(
|
||||
|
||||
signalHandlerForMain,
|
||||
)
|
||||
|
||||
gproc.Listen()
|
||||
}
|
||||
func Start(port string) {
|
||||
|
||||
// 如果id是0,那就是login server
|
||||
func Start(serverid uint32) {
|
||||
|
||||
head := handler.NewTomeeHandler()
|
||||
head.Callback = controller.Recv
|
||||
socket.NewServer(socket.WithPort(port), socket.WithCORS(), socket.WithSocketHandler(head)).Start()
|
||||
if serverid != 0 {
|
||||
// 确定端口
|
||||
port, err := determinePort(serverid)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to determine port: %v", err)
|
||||
}
|
||||
|
||||
//随机端口产生,然后给sql注册端口
|
||||
service.NewLoginServiceService().SetServerID(serverid, gconv.Uint16(port))
|
||||
socket.NewServer(socket.WithCORS(), socket.WithPort(port), socket.WithSocketHandler(head)).Start()
|
||||
|
||||
} else {
|
||||
|
||||
socket.NewServer(socket.WithCORS(), socket.WithPort(defaultPort), socket.WithSocketHandler(head)).Start()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user