game_sync/ranksrv/init.go

36 lines
1.0 KiB
Go

package main
import (
"mongo.games.com/game/common"
"mongo.games.com/game/model"
"mongo.games.com/game/mq"
"mongo.games.com/goserver/core"
"mongo.games.com/goserver/core/broker/rabbitmq"
"time"
)
var RabbitMQPublisher *mq.RabbitMQPublisher
var RabbitMqConsumer *mq.RabbitMQConsumer
func init() {
//首先加载游戏配置
core.RegisteHook(core.HOOK_BEFORE_START, func() error {
//初始化rpc
model.StartupRPClient(common.CustomConfig.GetString("MgoRpcCliNet"), common.CustomConfig.GetString("MgoRpcCliAddr"), time.Duration(common.CustomConfig.GetInt("MgoRpcCliReconnInterV"))*time.Second)
//rabbitmq打开链接
RabbitMqConsumer = mq.NewRabbitMQConsumer(common.CustomConfig.GetString("RabbitMQURL"), rabbitmq.Exchange{Name: common.CustomConfig.GetString("RMQExchange"), Durable: true})
if RabbitMqConsumer != nil {
RabbitMqConsumer.Start()
}
return nil
})
core.RegisteHook(core.HOOK_AFTER_STOP, func() error {
if RabbitMqConsumer != nil {
RabbitMqConsumer.Stop()
}
return nil
})
}