game_sync/worldsrv/main.go

59 lines
1.6 KiB
Go

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 {
//db.NewGrpcClientConn()
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()
model.GetAllCoinPoolSettingData()
MsgMgrSington.InitMsg()
return nil
})
core.RegisteHook(core.HOOK_AFTER_STOP, func() error {
return nil
})
//启动定时任务
schedule.StartTask()
//启动业务模块
waiter := module.Start()
waiter.Wait("main()")
}