From fad8c7cf61b7c4fd36c57d50d89d0e01ba601acd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Polewicz?= Date: Sun, 12 Jan 2025 20:29:57 +0200 Subject: [PATCH 1/2] Handle TransportConnectionError when receiving --- .../compute_horde/miner_client/base.py | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/compute_horde/compute_horde/miner_client/base.py b/compute_horde/compute_horde/miner_client/base.py index 16856b3a5..4795cb85a 100644 --- a/compute_horde/compute_horde/miner_client/base.py +++ b/compute_horde/compute_horde/miner_client/base.py @@ -107,21 +107,25 @@ def deferred_send_model(self, model: BaseRequest): self.deferred_send_tasks.append(task) async def read_messages(self): - async for msg in self.transport: - try: - msg = self.accepted_request_type().parse(msg) - except ValidationError as ex: - error_msg = f"Malformed message from miner {self.miner_name}: {str(ex)}" - logger.info(error_msg) - self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) - continue - - try: - await self.handle_message(msg) - except UnsupportedMessageReceived: - error_msg = f"Unsupported message from miner {self.miner_name}" - logger.exception(error_msg) - self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) + try: + async for msg in self.transport: + try: + msg = self.accepted_request_type().parse(msg) + except ValidationError as ex: + error_msg = f"Malformed message from miner {self.miner_name}: {str(ex)}" + logger.info(error_msg) + self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) + continue + + try: + await self.handle_message(msg) + except UnsupportedMessageReceived: + error_msg = f"Unsupported message from miner {self.miner_name}" + logger.exception(error_msg) + self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) + except TransportConnectionError as exc: + logger.warning("%s connection error when trying to receive: %r", self.miner_name, exc) + self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) class UnsupportedMessageReceived(Exception): From b5c833f162433cff5684e4571d7e595f7cc29bfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Polewicz?= Date: Sun, 12 Jan 2025 20:33:28 +0200 Subject: [PATCH 2/2] fix whitespace i blame github IDE --- compute_horde/compute_horde/miner_client/base.py | 1 - 1 file changed, 1 deletion(-) diff --git a/compute_horde/compute_horde/miner_client/base.py b/compute_horde/compute_horde/miner_client/base.py index 4795cb85a..81f1f3b20 100644 --- a/compute_horde/compute_horde/miner_client/base.py +++ b/compute_horde/compute_horde/miner_client/base.py @@ -116,7 +116,6 @@ async def read_messages(self): logger.info(error_msg) self.deferred_send_model(self.build_outgoing_generic_error(error_msg)) continue - try: await self.handle_message(msg) except UnsupportedMessageReceived: