diff --git a/src/opserver/partition_handler.py b/src/opserver/partition_handler.py index 64ca4194a16..b72ba8dc3e5 100644 --- a/src/opserver/partition_handler.py +++ b/src/opserver/partition_handler.py @@ -110,7 +110,7 @@ def _get_uve_content(self, table, barekeys, tfilter, ackfilter, keysonly): host=pi.ip_address, port=pi.port, password=self._rpass, - db=7) + db=7, socket_timeout=90) ppe = lredis.pipeline() luves = list(uveparts[pkey]) for elem in luves: @@ -335,13 +335,17 @@ def syncpart(self, redish): def _run(self): lredis = None pb = None + pause = False while True: try: + if pause: + gevent.sleep(2) + pause = False lredis = redis.StrictRedis( host=self._pi.ip_address, port=self._pi.port, password=self._rpass, - db=7) + db=7, socket_timeout=90) pb = lredis.pubsub() inst = self._pi.instance_id part = self._partno @@ -422,7 +426,7 @@ def _run(self): if pb is not None: pb.close() pb = None - gevent.sleep(2) + pause = True return None class UveStreamer(gevent.Greenlet): diff --git a/src/opserver/uveserver.py b/src/opserver/uveserver.py index 9898a664d17..386c5b92c2a 100644 --- a/src/opserver/uveserver.py +++ b/src/opserver/uveserver.py @@ -209,7 +209,7 @@ def _redis_inst_get(self, r_inst): if not self._redis_uve_map[r_inst]: return redis.StrictRedis( host=r_ip, port=r_port, - password=self._redis_password, db=1) + password=self._redis_password, db=1, socket_timeout=90) else: return self._redis_uve_map[r_inst]