|
- 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 {
-
- }
- }
|