55 lines
987 B
Go
55 lines
987 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
|
||
|
"github.com/nsqio/go-nsq"
|
||
|
)
|
||
|
|
||
|
type myMessageHandler struct{}
|
||
|
|
||
|
func processMessage(b []byte) error {
|
||
|
log.Println(string(b))
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// HandleMessage implements the Handler interface.
|
||
|
func (h *myMessageHandler) HandleMessage(m *nsq.Message) error {
|
||
|
log.Println("test")
|
||
|
if len(m.Body) == 0 {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
err := processMessage(m.Body)
|
||
|
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
func main() {
|
||
|
config := nsq.NewConfig()
|
||
|
|
||
|
// // ....
|
||
|
// producer, err := nsq.NewProducer("ekb-app01.myway.local:4150", config)
|
||
|
// if err != nil {
|
||
|
// log.Fatal(err)
|
||
|
// }
|
||
|
// if producer.Publish("grpc", []byte("Случилась какая-то ботва 1")); err != nil {
|
||
|
// log.Fatal(err)
|
||
|
// }
|
||
|
// producer.Stop()
|
||
|
|
||
|
// ...
|
||
|
consumer, err := nsq.NewConsumer("grpc", "grpc", config)
|
||
|
if err != nil {
|
||
|
log.Fatal(err)
|
||
|
}
|
||
|
|
||
|
consumer.AddHandler(&myMessageHandler{})
|
||
|
|
||
|
if consumer.ConnectToNSQLookupd("ekb-app01.myway.local:4161"); err != nil {
|
||
|
log.Fatal(err)
|
||
|
}
|
||
|
|
||
|
//consumer.Stop()
|
||
|
}
|