| | |
| | | import ( |
| | | "basic.com/pubsub/protomsg.git" |
| | | "basic.com/valib/gopherdiscovery.git" |
| | | "fmt" |
| | | "github.com/gogo/protobuf/proto" |
| | | "time" |
| | | "webserver/extend/logger" |
| | | "github.com/gogo/protobuf/proto" |
| | | ) |
| | | |
| | | const ( |
| | |
| | | |
| | | //启动discovery的server |
| | | var discoveryServer *gopherdiscovery.DiscoveryServer |
| | | var dbChangeChan chan *protomsg.DbChangeMessage |
| | | var dbChangeChan chan *protomsg.EsPersonCacheChange |
| | | func StartServer() { |
| | | var clients []string |
| | | var err error |
| | |
| | | logger.Debug("err:",err) |
| | | logger.Debug("clients: ",clients) |
| | | |
| | | dbChangeChan = make(chan *protomsg.DbChangeMessage) |
| | | dbChangeChan = make(chan *protomsg.EsPersonCacheChange) |
| | | |
| | | for { |
| | | select { |
| | |
| | | } |
| | | |
| | | //广播数据库改变的msg |
| | | func publishMessage(msg *protomsg.DbChangeMessage) { |
| | | func publishMessage(msg *protomsg.EsPersonCacheChange) { |
| | | sendBytes,err := proto.Marshal(msg) |
| | | if err ==nil{ |
| | | discoveryServer.PublishMsg(string(sendBytes)) |
| | | } |
| | | } |
| | | |
| | | func AddDbMessage(msg *protomsg.DbChangeMessage) { |
| | | fmt.Println("MSG In") |
| | | func AddDbMessage(msg *protomsg.EsPersonCacheChange) { |
| | | logger.Debug("MSG EsPersonCacheChange In") |
| | | dbChangeChan<-msg |
| | | } |