package nsqclient import ( "github.com/nsqio/go-nsq" "log" ) /** Locking通知消息 */ type LockingMsg struct{ Id int64 `json:"id,string"` UserIds []int64 `json:"userIds"` PushChannel int `json:"pushChannel"` Title string `json:"title"` Body string `json:"body"` Type string `json:"type"` PushTimeUnix int64 `json:"pushTimeUnix,string"` Parameter map[string] string `json:"parameter"` } var MsgQueue = make(chan string,100000) type NewHandler struct{} func (m *NewHandler) HandleMessage(msg *nsq.Message) (err error) { //addr := msg.NSQDAddress message := string(msg.Body) log.Println(message) MsgQueue <- message return } func Consumers(topic, channel, addr string) { conf := nsq.NewConfig() new_consumer, err := nsq.NewConsumer(topic, channel, conf) if err != nil { } // 接收消息 new_handler := &NewHandler{} new_consumer.AddHandler(new_handler) err = new_consumer.ConnectToNSQD(addr) if err != nil { } }