zhangqian 11 mesiacov pred
rodič
commit
e076e43718
2 zmenil súbory, kde vykonal 19 pridanie a 0 odobranie
  1. 18 0
      rabbitMQ/consumer.go
  2. 1 0
      rabbitMQ/vars.go

+ 18 - 0
rabbitMQ/consumer.go

@@ -48,6 +48,24 @@ func (c *Consumer) SubscribeMulti(queueNames ...string) error {
 		}
 
 	}
+	c.queues = queueNames
+	return nil
+}
+func (c *Consumer) HandlerMulti(process func(body []byte)) error {
+	for _, queue := range c.queues {
+		msgs, err := c.channel.Consume(queue, "", true, false, false, false, nil)
+		if err != nil {
+			println(err.Error())
+			return err
+		}
+		go func() {
+			for msg := range msgs {
+				func(msg amqp.Delivery) {
+					process(msg.Body)
+				}(msg)
+			}
+		}()
+	}
 	return nil
 }
 func (c *Consumer) Handler(queueName string, handler func(body []byte) error) error {

+ 1 - 0
rabbitMQ/vars.go

@@ -22,6 +22,7 @@ type (
 	Consumer struct {
 		conn    *amqp.Connection
 		channel *amqp.Channel
+		queues  []string
 	}
 )