From b2afa6d136d4ac7f35939e571dc1464505d64653 Mon Sep 17 00:00:00 2001 From: wagslane Date: Fri, 1 Apr 2022 08:44:57 -0600 Subject: [PATCH] reconnect on io timeout --- channel.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/channel.go b/channel.go index b670559..25246cb 100644 --- a/channel.go +++ b/channel.go @@ -2,6 +2,7 @@ package rabbitmq import ( "errors" + "strings" "sync" "time" @@ -71,6 +72,11 @@ func (chManager *channelManager) startNotifyCancelOrClosed() { chManager.reconnectLoop() chManager.logger.Printf("successfully reconnected to amqp server after eof") 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 { chManager.logger.Printf("not attempting to reconnect to amqp server because closure was initiated by the client: %v", err) } else if err == nil {