Browse Source

Merge pull request #65 from fortyanov/fix_reconnection

runs consumer reconnection by any rabbit error
pull/69/head v0.7.2
Lane Wagner 4 years ago
committed by GitHub
parent
commit
27bd73c366
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      channel.go

+ 9
- 1
channel.go View File

@ -61,12 +61,20 @@ func (chManager *channelManager) startNotifyCancelOrClosed() {
select {
case err := <-notifyCloseChan:
// If the connection close is triggered by the Server, a reconnection takes place
if err != nil && err.Server {
chManager.logger.Printf("attempting to reconnect to amqp server after close")
chManager.reconnectLoop()
chManager.logger.Printf("successfully reconnected to amqp server after close")
chManager.notifyCancelOrClose <- err
} else if err != nil && err.Reason == "EOF" {
chManager.logger.Printf("attempting to reconnect to amqp server after eof")
chManager.reconnectLoop()
chManager.logger.Printf("successfully reconnected to amqp server after eof")
chManager.notifyCancelOrClose <- err
} else if err != nil {
chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client")
} else if err == nil {
chManager.logger.Printf("amqp channel closed gracefully")
}
if err != nil {
chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client")


Loading…
Cancel
Save