game_sync/ranksrv/main.go

39 lines
1.1 KiB
Go

package main
import (
"time"
"mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/module"
_ "mongo.games.com/game"
"mongo.games.com/game/common"
"mongo.games.com/game/etcd"
"mongo.games.com/game/model"
"mongo.games.com/game/mq"
)
func main() {
// 自定义配置文件
model.InitGameParam()
// package模块
core.LoadPackages("config.json")
defer core.ClosePackages()
// 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)
etcd.Start(common.CustomConfig.GetStrings("etcdurl"), common.CustomConfig.GetString("etcduser"), common.CustomConfig.GetString("etcdpwd"), time.Minute)
mq.StartConsumer(common.CustomConfig.GetString("RabbitMQURL"), common.CustomConfig.GetString("RMQExchange"), true)
return nil
})
core.RegisteHook(core.HOOK_AFTER_STOP, func() error {
etcd.Close()
mq.StopConsumer()
model.ShutdownRPClient()
return nil
})
// module模块
w := module.Start()
w.Wait("ranksrv")
}