GUI: daq_worker - if identical message from handle_status_response only emit after _auth_error_min_interval has passed

This commit is contained in:
2025-10-31 16:36:32 +01:00
parent 7dcafe1288
commit 288712cfbb
+13 -1
View File
@@ -46,6 +46,10 @@ class DAQWorker(QObject):
self._last_auth_error_log_ts = 0.0
self._auth_error_min_interval = 10.0
self._last_status_request_ts = 0.0
self._status_request_min_interval = 10.0
self._last_status_error = None
@Slot()
def regular_update(self):
if self.__counter % SPREADHSEET_FREQUENCY == 0:
@@ -81,7 +85,15 @@ class DAQWorker(QObject):
parsed_response = DAQStatusModel.model_validate_json(response_data)
self.update.emit(parsed_response)
except Exception as e:
logger.error(f"Exception from status response: {e}")
now = time.monotonic()
if str(e) == str(self._last_status_error):
if now - self._last_auth_error_log_ts > self._auth_error_min_interval:
self._last_auth_error_log_ts = now
logger.error(f"Exception from status response: {e}")
else:
self._last_status_error = e
self._last_auth_error_log_ts = now
logger.error(f"Exception from status response: {e}")
self.http_error.emit(str(e))
@Slot(QNetworkReply)