提交 c0b34d2d authored 作者: gukai's avatar gukai

nsq增加重连机制

上级 0fbe4d8e
...@@ -11,9 +11,13 @@ type NsqProducer struct { ...@@ -11,9 +11,13 @@ type NsqProducer struct {
producer *nsq.Producer producer *nsq.Producer
} }
var NsqProducers *NsqProducer var (
NsqProducers *NsqProducer
nsqConfig *NsqConfig //重试
)
func New(config *NsqConfig) { func New(config *NsqConfig) {
nsqConfig = config
NsqProducers = InitProducer(config) NsqProducers = InitProducer(config)
} }
...@@ -38,9 +42,16 @@ func InitProducer(config *NsqConfig) *NsqProducer { ...@@ -38,9 +42,16 @@ func InitProducer(config *NsqConfig) *NsqProducer {
//发布消息 //发布消息
func (p *NsqProducer) Publish(topic string, message string) error { func (p *NsqProducer) Publish(topic string, message string) error {
logs.Info("topic","topic:%v,message:%v",topic,message) //logs.Info("topic","topic:%v,message:%v",topic,message)
var err error var err error
defer func() {
if err != nil {
//重试连接
InitProducer(nsqConfig)
}
}()
if p.producer != nil { if p.producer != nil {
if message == "" { //不能发布空串,否则会导致error if message == "" { //不能发布空串,否则会导致error
return nil return nil
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论