diff options
Diffstat (limited to 'redis/asyncio/connection.py')
-rw-r--r-- | redis/asyncio/connection.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/redis/asyncio/connection.py b/redis/asyncio/connection.py index 35536fc..5bf2a0f 100644 --- a/redis/asyncio/connection.py +++ b/redis/asyncio/connection.py @@ -637,6 +637,8 @@ class Connection: retry_on_error = [] if retry_on_timeout: retry_on_error.append(TimeoutError) + retry_on_error.append(socket.timeout) + retry_on_error.append(asyncio.TimeoutError) self.retry_on_error = retry_on_error if retry_on_error: if not retry: @@ -706,7 +708,9 @@ class Connection: if self.is_connected: return try: - await self._connect() + await self.retry.call_with_retry( + lambda: self._connect(), lambda error: self.disconnect() + ) except asyncio.CancelledError: raise except (socket.timeout, asyncio.TimeoutError): |