fix: graceful reconnect для event service при ConnectionResetError

This commit is contained in:
2026-05-25 17:58:37 +03:00
parent 2b4e6f824b
commit 26d09501fb
+12 -2
View File
@@ -1025,11 +1025,21 @@ class SatelliteBase:
await event_client.connect() await event_client.connect()
_LOGGER.debug("Connected to event service") _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: except asyncio.CancelledError:
break break
except Exception: except Exception:
_LOGGER.exception("Unexpected error in event read task") _LOGGER.exception("Unexpected error in event task")
await _disconnect() await _disconnect()
event_client = None # reconnect event_client = None # reconnect
self._event_queue = None self._event_queue = None