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 { select {
case err := <-notifyCloseChan: case err := <-notifyCloseChan:
// If the connection close is triggered by the Server, a reconnection takes place
if err != nil && err.Server { if err != nil && err.Server {
chManager.logger.Printf("attempting to reconnect to amqp server after close") chManager.logger.Printf("attempting to reconnect to amqp server after close")
chManager.reconnectLoop() chManager.reconnectLoop()
chManager.logger.Printf("successfully reconnected to amqp server after close") chManager.logger.Printf("successfully reconnected to amqp server after close")
chManager.notifyCancelOrClose <- err 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 { if err != nil {
chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client") chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client")


Loading…
Cancel
Save