diff --git a/notify/producer.go b/notify/producer.go index 25a88330d0c22908afbdbfa1b57d1ac4fe111e7c..410765a3d2e9b135dbfb48a8b8a3c4a9b4a590c3 100644 --- a/notify/producer.go +++ b/notify/producer.go @@ -19,13 +19,11 @@ var ( func New(config *NsqConfig) { nsqConfig = config - NsqProducers = InitProducer(config) } -func InitProducer(config *NsqConfig) *NsqProducer { +func InitProducer(config *NsqConfig) { producer, err := nsq.NewProducer(config.Addr, nsq.NewConfig()) if logs.CheckErr(err, "InitProducer") { - //panic(err) producer.Stop() } @@ -34,21 +32,20 @@ func InitProducer(config *NsqConfig) *NsqProducer { producer.Stop() } - return &NsqProducer{ + NsqProducers = &NsqProducer{ producer: producer, } } -//å‘å¸ƒæ¶ˆæ¯ +//Publish å‘å¸ƒæ¶ˆæ¯ func (p *NsqProducer) Publish(topic string, message string) (err error) { - //é‡è¯•连接 - NsqProducers = InitProducer(nsqConfig) + InitProducer(nsqConfig) - if p.producer != nil { + if NsqProducers.producer != nil { if message == "" { //ä¸èƒ½å‘布空串,å¦åˆ™ä¼šå¯¼è‡´error return nil } - err = p.producer.Publish(topic, []byte(message)) // å‘å¸ƒæ¶ˆæ¯ + err = NsqProducers.producer.Publish(topic, []byte(message)) // å‘å¸ƒæ¶ˆæ¯ if err != nil { g.Log().Cat("Producer").Cat("error").Infof(`消æ¯å†…容ã€%v】错误ã€%v】`, message, err.Error()) } else { @@ -60,16 +57,14 @@ func (p *NsqProducer) Publish(topic string, message string) (err error) { return fmt.Errorf("producer is nil", err) } -//å‘å¸ƒå»¶è¿Ÿæ¶ˆæ¯ -func (p *NsqProducer) DeferredPublish(topic string, delay time.Duration, message string) error { - - NsqProducers = InitProducer(nsqConfig) - var err error - if p.producer != nil { +//DeferredPublish å‘å¸ƒå»¶è¿Ÿæ¶ˆæ¯ +func (p *NsqProducer) DeferredPublish(topic string, delay time.Duration, message string) (err error) { + InitProducer(nsqConfig) + if NsqProducers.producer != nil { if message == "" { //ä¸èƒ½å‘布空串,å¦åˆ™ä¼šå¯¼è‡´error return nil } - err = p.producer.DeferredPublish(topic, delay, []byte(message)) // å‘å¸ƒæ¶ˆæ¯ + err = NsqProducers.producer.DeferredPublish(topic, delay, []byte(message)) // å‘å¸ƒæ¶ˆæ¯ if err != nil { g.Log().Cat("Producer").Cat("error").Infof(`消æ¯å†…容ã€%v】错误ã€%v】`, message, err.Error()) } else {