diff --git a/socketio/redis_manager.py b/socketio/redis_manager.py index cef76244..6d4d2c70 100644 --- a/socketio/redis_manager.py +++ b/socketio/redis_manager.py @@ -78,7 +78,8 @@ def _publish(self, data): if not retry: self._redis_connect() return self.redis.publish(self.channel, pickle.dumps(data)) - except redis.exceptions.ConnectionError: + except (redis.exceptions.ConnectionError, + redis.exceptions.TimeoutError): if retry: logger.error('Cannot publish to redis... retrying') retry = False @@ -96,9 +97,10 @@ def _redis_listen_with_retries(self): self.pubsub.subscribe(self.channel) for message in self.pubsub.listen(): yield message - except redis.exceptions.ConnectionError: - logger.error('Cannot receive from redis... ' - 'retrying in {} secs'.format(retry_sleep)) + except (redis.exceptions.ConnectionError, + redis.exceptions.TimeoutError) as e: + logger.error('Cannot receive from redis ({})... ' + 'retrying in {} secs'.format(e, retry_sleep)) connect = True time.sleep(retry_sleep) retry_sleep *= 2