Browse Source

reconnect on io timeout

pull/73/head v0.7.4
wagslane 4 years ago
parent
commit
b2afa6d136
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      channel.go

+ 6
- 0
channel.go View File

@ -2,6 +2,7 @@ package rabbitmq
import ( import (
"errors" "errors"
"strings"
"sync" "sync"
"time" "time"
@ -71,6 +72,11 @@ func (chManager *channelManager) startNotifyCancelOrClosed() {
chManager.reconnectLoop() chManager.reconnectLoop()
chManager.logger.Printf("successfully reconnected to amqp server after eof") chManager.logger.Printf("successfully reconnected to amqp server after eof")
chManager.notifyCancelOrClose <- err chManager.notifyCancelOrClose <- err
} else if err != nil && strings.Contains(err.Error(), "timeout") {
chManager.logger.Printf("attempting to reconnect to amqp server after timeout")
chManager.reconnectLoop()
chManager.logger.Printf("successfully reconnected to amqp server after timeout")
chManager.notifyCancelOrClose <- err
} else if err != nil { } else if err != nil {
chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client: %v", err) chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client: %v", err)
} else if err == nil { } else if err == nil {


Loading…
Cancel
Save