跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 新学 go,求帮忙,连接 rabbitmq,心跳检测重试问题 作用: mq 客户端监听队列,获取队列消息
未分類
14 5 月 2020

新学 go,求帮忙,连接 rabbitmq,心跳检测重试问题 作用: mq 客户端监听队列,获取队列消息

新学 go,求帮忙,连接 rabbitmq,心跳检测重试问题 作用: mq 客户端监听队列,获取队列消息

資深大佬 : mine21 4

现在按照晚上教程写了个代码,功能是可以啦,但是 mq 正常情况,连接成功。但是 mq 挂了,再启动 mq, 我写的这个客户端就监听不到了,连接已经挂掉了,怎么心跳检测重新发起连接那,
求指点下,新学 go,有点懵

目前的客户端照着网上的教程写的
package main

import (
“log”

“github.com/streadway/amqp”
)

func failOnError(err error, msg string) {
if err != nil {
log.Fatalf(“%s: %s”, msg, err)
}
}

// 只能在安装 rabbitmq 的服务器上操作
func main() {
conn, err := amqp.Dial(“amqp://guest:[email protected]:5672/”)
failOnError(err, “Failed to connect to RabbitMQ”)
defer conn.Close()

ch, err := conn.Channel()
failOnError(err, “Failed to open a channel”)
defer ch.Close()

q, err := ch.QueueDeclare(
“hello”, // name
false, // durable
false, // delete when unused
false, // exclusive
false, // no-wait
nil, // arguments
)
failOnError(err, “Failed to declare a queue”)

msgs, err := ch.Consume(
q.Name, // queue
“”, // consumer
true, // auto-ack
false, // exclusive
false, // no-local
false, // no-wait
nil, // args
)
failOnError(err, “Failed to register a consumer”)

forever := make(chan bool)

go func() {
for d := range msgs {
log.Printf(“Received a message: %s”, d.Body)
}
}()

log.Printf(” [*] Waiting for messages. To exit press CTRL+C”)
<-forever
}

大佬有話說 (3)

  • 資深大佬 : Gakho

    断开了连接这种 err 在你的 go func 应该能取到的,不用其他库的话就自己做重试

  • 資深大佬 : zpfhbyx

    你 rabbitmq 有开 heartbeat 么

  • 主 資深大佬 : mine21

    最后用这个单写了个 重试
    amqp:

    func (*Connection) NotifyClose

    func (c *Connection) NotifyClose(receiver chan *Error) chan *Error

    NotifyClose registers a listener for close events either initiated by an error accompanying a connection.close method or by a normal shutdown.

    On normal shutdowns, the chan will be closed.

    To reconnect after a transport or protocol error, register a listener here and re-run your setup process.

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具