zwl преди 5 години
родител
ревизия
6026bbcd7b
променени са 1 файла, в които са добавени 15 реда и са изтрити 5 реда
  1. 15 5
      busdriver/busdriver.go

+ 15 - 5
busdriver/busdriver.go

@@ -100,10 +100,12 @@ func MqStart() {
 		msgContent: msg,
 	}
 
-	// 遍历所有订阅的主题,启动接收协程
-	for _, subinfo := range SubInfos {
-		Receive(subinfo.Topic, subinfo.QueueName, t)
-	}
+	go func() {
+		// 遍历所有订阅的主题,启动接收协程
+		for _, subinfo := range SubInfos {
+			Receive(subinfo.Topic, subinfo.QueueName, t)
+		}
+	}()
 }
 
 // SubscribeTopic 订阅主题
@@ -149,7 +151,15 @@ func SubscribeTopic(topic string) error {
 
 // Publish 发送消息
 func Publish(topic, msg string) error {
-	err := MqChannel.Publish("entry", topic, false, false, amqp.Publishing{
+	var err error
+	if MqChannel == nil || MqConn.IsClosed() {
+		err = MqConnect()
+		if err != nil {
+			return err
+		}
+	}
+
+	err = MqChannel.Publish("entry", topic, false, false, amqp.Publishing{
 		ContentType: "text/plain",
 		Body:        []byte(msg),
 	})