Ejemplo n.º 1
0
func main() {
	//以守护进程方式运行
	//	if os.Getppid() != 1 {
	//		filePath, _ := filepath.Abs(os.Args[0])
	//		fmt.Printf("filePath=%s\n", filePath)
	//		cmd := exec.Command(filePath, os.Args[1:]...)
	//		cmd.Start()
	//		return
	//	}

	runtime.GOMAXPROCS(runtime.NumCPU() * 2)

	err := config.LoadConfig("setting")
	if err != nil {
		panic(err)
	}
	l, err := logger.StartLog(config.DataSetting.LogDir, config.DataSetting.LogLevel, true)
	if err != nil {
		panic(err)
	}
	logger.Export(l)

	defer util.LogPanicStack()

	logger.Info("开始加载配置....")
	err = config.LoadAllConfig()
	if err != nil {
		logger.Critical("%s", err.Error())
		return
	}
	logger.Info("===>>配置加载成功")

	err = db.Start()
	if err != nil {
		logger.Critical("===>数据库启动错误:%v", err)
	}
	logger.Info("db start...")
	//加载所有名字
	name.InitAllRoleName()

	word.RegisterModule()
	gateway.RegisterModule()
	console.RegisterModule(config.DataSetting.ConsoleAddr, 10, 1024)
	//注册方法运行时间统计命令
	util.RegisterMTCommand()
	module.Init()
	logger.Info("服务器启动成功")
	c := make(chan os.Signal, 1)
	signal.Notify(c, os.Interrupt, os.Kill)
	sig := <-c

	module.Destroy()
	db.Stop()
	logger.Info("服务器退出:%v", sig)
}
Ejemplo n.º 2
0
Archivo: gt.go Proyecto: gbember/gt
func main() {
	console.RegisterModule("127.0.0.1:12314", 10, 1024)
	module.Init()
	wait := make(chan bool)
	<-wait
}