Я читаю сообщения из очереди RabbitMQ следующим образом:
messages, err := channel.Consume(
queue, // queue
queue, // consumer - same as queue
false, // auto-ack
false, // exclusive
false, // no-local
false, // no-wait
nil) // args
if err != nil {
// handle error
}
loop:
for {
select {
case cmd := <-cmdChannel:
if cmd == cmdStop {
break loop
}
case message := <-messages:
go process(message)
}
}
Могут быть ситуации, когда чтение из messages
может быть неудачным, например, ошибка сети или канал RabbitMQ был недействительным из-за ошибки.Как обнаружить такие ошибки и получить соответствующее сообщение об ошибке?