From 26d09501fb89e0dc38249b0755752314d7267eeb Mon Sep 17 00:00:00 2001 From: sirmrak Date: Mon, 25 May 2026 17:58:28 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20graceful=20reconnect=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20event=20service=20=D0=BF=D1=80=D0=B8=20ConnectionReset?= =?UTF-8?q?Error?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wyoming_satellite/satellite.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/wyoming_satellite/satellite.py b/wyoming_satellite/satellite.py index 75c4e63..030e39d 100755 --- a/wyoming_satellite/satellite.py +++ b/wyoming_satellite/satellite.py @@ -1025,11 +1025,21 @@ class SatelliteBase: await event_client.connect() _LOGGER.debug("Connected to event service") - await event_client.write_event(event) + try: + await event_client.write_event(event) + except (ConnectionResetError, BrokenPipeError, OSError) as err: + # Event service disconnected, reconnect on next event + _LOGGER.warning("Event service disconnected: %s", err) + await _disconnect() + event_client = None + # Put event back in queue to retry after reconnect + self._event_queue.put_nowait(event) + await asyncio.sleep(self.settings.event.reconnect_seconds) + except asyncio.CancelledError: break except Exception: - _LOGGER.exception("Unexpected error in event read task") + _LOGGER.exception("Unexpected error in event task") await _disconnect() event_client = None # reconnect self._event_queue = None