Skip to content

Commit 5e898a9

Browse files
Retry initial Redis connection (Fixes #1534)
1 parent 1e903e1 commit 5e898a9

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/socketio/async_redis_manager.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,12 @@ async def _publish(self, data): # pragma: no cover
134134
break
135135

136136
async def _redis_listen_with_retries(self): # pragma: no cover
137-
retry_sleep = 1
138137
_, error = self._get_redis_module_and_error()
138+
retry_sleep = 1
139+
subscribed = False
139140
while True:
140141
try:
141-
if not self.connected:
142+
if not subscribed:
142143
self._redis_connect()
143144
await self.pubsub.subscribe(self.channel)
144145
retry_sleep = 1
@@ -149,7 +150,7 @@ async def _redis_listen_with_retries(self): # pragma: no cover
149150
'retrying in '
150151
f'{retry_sleep} secs',
151152
extra={"redis_exception": str(exc)})
152-
self.connected = False
153+
subscribed = False
153154
await asyncio.sleep(retry_sleep)
154155
retry_sleep *= 2
155156
if retry_sleep > 60:

src/socketio/redis_manager.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,12 @@ def _publish(self, data): # pragma: no cover
169169
break
170170

171171
def _redis_listen_with_retries(self): # pragma: no cover
172-
retry_sleep = 1
173172
_, error = self._get_redis_module_and_error()
173+
retry_sleep = 1
174+
subscribed = False
174175
while True:
175176
try:
176-
if not self.connected:
177+
if not subscribed:
177178
self._redis_connect()
178179
self.pubsub.subscribe(self.channel)
179180
retry_sleep = 1
@@ -182,7 +183,7 @@ def _redis_listen_with_retries(self): # pragma: no cover
182183
logger.error('Cannot receive from redis... '
183184
f'retrying in {retry_sleep} secs',
184185
extra={"redis_exception": str(exc)})
185-
self.connected = False
186+
subscribed = False
186187
time.sleep(retry_sleep)
187188
retry_sleep *= 2
188189
if retry_sleep > 60:

0 commit comments

Comments
 (0)