diff --git a/gui/src/aaregui/threads/daq_worker.py b/gui/src/aaregui/threads/daq_worker.py index e047b4bf..a7f9f942 100644 --- a/gui/src/aaregui/threads/daq_worker.py +++ b/gui/src/aaregui/threads/daq_worker.py @@ -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)