GUI: daq_worker - if identical message from handle_status_response only emit after _auth_error_min_interval has passed
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user