Go連線RabbitMQ可使用Connection.NotifyClose
偵測連線中斷。
範例環境:
- Go 1.19
- github.com/rabbitmq/amqp091-go v1.5.0
事前要求
參考「Golang RabbitMQ hello world 接收訊息範例」。
範例
Connection.NotifyClose(receiver chan *Error) chan *Error
接收一個chan *Error
參數,並回傳一個chan *Error
;當保持連線時chan *Error
會阻塞程序,直到連線中斷時chan *Error
會接收到錯誤資料並解除阻塞。
main.go
package main
import (
"log"
amqp "github.com/rabbitmq/amqp091-go"
)
func main() {
// 取得連線
conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/")
...
<-conn.NotifyClose(make(chan *amqp.Error)) // 監聽連線關閉
log.Printf("Connection closed")
}
沒有留言:
張貼留言