package main import ( "time" "github.com/astaxie/beego/cache" "mongo.games.com/goserver/core" "mongo.games.com/goserver/core/etcd" _ "mongo.games.com/goserver/core/i18n" "mongo.games.com/goserver/core/module" "mongo.games.com/goserver/core/schedule" _ "mongo.games.com/game" "mongo.games.com/game/common" "mongo.games.com/game/model" "mongo.games.com/game/mq" ) var CacheMemory cache.Cache func main() { // 自定义配置文件 model.InitGameParam() model.InitNormalParam() model.InitGMAC() model.InitGameConfig() // package模块 defer core.ClosePackages() core.LoadPackages("config.json") // core hook core.RegisteHook(core.HOOK_BEFORE_START, func() error { model.StartupRPClient(common.CustomConfig.GetString("MgoRpcCliNet"), common.CustomConfig.GetString("MgoRpcCliAddr"), time.Duration(common.CustomConfig.GetInt("MgoRpcCliReconnInterV"))*time.Second) mq.StartConsumer(common.CustomConfig.GetString("RabbitMQURL"), common.CustomConfig.GetString("RMQExchange"), true) mq.StartPublisher(common.CustomConfig.GetString("RabbitMQURL"), common.CustomConfig.GetString("RMQExchange"), true, common.CustomConfig.GetInt("RMQPublishBacklog")) err := model.InitGameKVData() if err != nil { panic(err) } CacheMemory, err = cache.NewCache("memory", `{"interval":60}`) if err != nil { return err } etcd.Start() gameStateMgr.Init() HorseRaceLampMgrSington.InitHorseRaceLamp() model.GetAllCoinPoolSettingData() MsgMgrSington.InitMsg() return nil }) core.RegisteHook(core.HOOK_AFTER_STOP, func() error { return nil }) //启动定时任务 schedule.StartTask() //启动业务模块 waiter := module.Start() waiter.Wait("main()") }