nsq client for golang
nsqclient.Connect(map[string]Config{
"default": Config{
Host: "10.64.146.231",
Port: "4150",
InitSize: 10,
MaxSize: 10,
},
"other": Config{
Host: "10.64.146.22",
Port: "4150",
InitSize: 10,
MaxSize: 10,
},
})
写入nsq为了方便进行单元测试,可以注入nsqclient.Producer接口,然后在单元测试使用mock的实现
// default client
nsq := nsqclient.NewProducer("default")
nsq.Publish("topic","body")
//mock
nsq := nsqclient.NewMockProducer("default")
nsq.Publish("topic","body")
// default connect
consumer := &nsqclient.NsqHandler{
Topic: "log",
Channel: "default",
Size: 10,
}
consumer.SetHandle(func(lg logger.ILogger, message *nsq.Message) error {
// something
return nil
})
nsqclient.Register(consumer, "access_log")
nsqclient.Run("access_log", ctx)
// other connect
consumer := &nsqclient.NsqHandler{
Connect: "other",
Topic: "log",
Channel: "default",
Size: 10,
}