package mq import ( "encoding/json" "mongo.games.com/goserver/core/broker" "mongo.games.com/goserver/core/broker/rabbitmq" "mongo.games.com/game/dbproxy/svc" "mongo.games.com/game/model" "mongo.games.com/game/mq" ) func init() { mq.RegisterSubscriber(model.LoginLogCollName, func(e broker.Event) (err error) { msg := e.Message() if msg != nil { defer func() { e.Ack() }() var log model.LoginLog err = json.Unmarshal(msg.Body, &log) if err != nil { return } c := svc.LoginLogsCollection(log.Platform) if c != nil { err = c.Insert(log) } return } return nil }, broker.Queue(model.LoginLogCollName), broker.DisableAutoAck(), rabbitmq.DurableQueue()) //for test //RegisterSubscriber(model.LoginLogCollName, func(e broker.Event) (err error) { // msg := e.Message() // if msg != nil { // var log model.LoginLog // err = json.Unmarshal(msg.Body, &log) // if err != nil { // return // } // // logger.Logger.Trace(log) // return // } // return nil //}, broker.Queue(model.LoginLogCollName+"_echo"), rabbitmq.DurableQueue()) //for test }