Skip to content

Commit cdd69be

Browse files
committed
Prevent isar from crashing on telemetry issue
1 parent 217f302 commit cdd69be

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

src/robot_interface/telemetry/mqtt_client.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import json
2+
import logging
23
import time
34
from abc import ABCMeta, abstractmethod
45
from datetime import datetime, timezone
6+
from logging import Logger
57
from queue import Queue
68
from typing import Callable, Tuple
79

@@ -94,6 +96,8 @@ def __init__(
9496
self.retain: bool = retain
9597
self.properties: Properties | None = properties
9698

99+
self.logger: Logger = logging.getLogger("telemetry")
100+
97101
def run(self, isar_id: str, robot_name: str) -> None:
98102
self.cloud_health_topic: str = f"isar/{isar_id}/cloud_health"
99103
self.battery_topic: str = f"isar/{isar_id}/battery"
@@ -118,6 +122,10 @@ def run(self, isar_id: str, robot_name: str) -> None:
118122
)
119123
)
120124
topic = self.cloud_health_topic
125+
except Exception as e:
126+
self.logger.error(f"Unexpected error in MQTT telemetry publisher: {e}")
127+
time.sleep(self.interval)
128+
continue
121129

122130
publish_properties = self.properties
123131

0 commit comments

Comments
 (0)