Version 2.3.8

Signed-off-by: Jeroen Oudshoorn <oudshoorn.jeroen@gmail.com>
This commit is contained in:
Jeroen Oudshoorn
2023-09-12 00:23:54 +02:00
parent bd586227b0
commit b391e8478f

View File

@ -57,6 +57,9 @@ class Client(object):
# logging.debug("Other exception (%s) with parameter %s", e, s)
async with websockets.connect(s, ping_interval=60, ping_timeout=90) as ws:
# After the websocket connection is opened, loop waiting for messages
# Moved the websocket connection before the loop to avoid runaway websocket
# connections that were exhausting all possible TCP ports (ephemeral port exhaustion)
while True:
try:
async for msg in ws:
@ -66,12 +69,16 @@ class Client(object):
logging.debug("Error while parsing event (%s)", ex)
except websockets.exceptions.ConnectionClosedError:
logging.error("Lost websocket connection. Reconnecting...")
continue
except websockets.exceptions.WebSocketException as wex:
logging.error("Websocket exception (%s)", wex)
continue
except OSError as e:
logging.error("Websocket OSError exception (%s) with parameter %s", e, s)
continue
except Exception as e:
logging.error("Other exception (%s) with parameter %s", e, s)
continue
def run(self, command, verbose_errors=True):
for _ in range(0,2):