I have to write a rabbitmq reconnector,and this is what I refrence to: https://gist.github.com/svcavallar/be2d40953eaf27842cba2d46de9c1fb1
But when I read data from channel rabbitCloseError
, my progress hang on... i have no idea whats wrong.
Here belows my codes:
```
logger.Infof("Starting message listenner...")
var rabbitErr *amqp.Error
var ch *amqp.Channel
// setup a reconnector
for {
rabbitErr = <-rabbitCloseError // hanging here!!
if rabbitErr != nil {
logger.Infof("Reconnecting")
_ = l.rabbitClient.InitConn()
}
if ch == nil {
logger.Infof("Creating channel")
ch, _ = l.rabbitClient.RabbitmqConn.Channel()
reportQ, err := ch.QueueDeclare(
"filereport", // name
true, // durable
false, // delete when unused
false, // exclusive
false, // no-wait
l.rabbitClient.QArguments, // arguments
)
if err != nil {
logger.Errorf("Declare queue report failed, error: %+v", err)
}
// set prefetch one
_ = ch.Qos(1, 0, false)
msgs, err := ch.Consume(
reportQ.Name, // queue
"", // consumer
false, // auto-ack
false, // exclusive
false, // no-local
false, // no-wait
nil, // args
)
if err != nil {
logger.Errorf("Decare consumer failed, error: %+v", err)
}
go l.ConsumeMsgs(msgs)
}
}
}
```
Can anyone help me about this? thanks in advance!