X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/d084286e81b121106a0a165e3c151762635466e0..98411bd460ad1474b8c3100bf8241c04519b7a2d:/spaceapi.py diff --git a/spaceapi.py b/spaceapi.py index 8e36b0f..181981a 100644 --- a/spaceapi.py +++ b/spaceapi.py @@ -13,6 +13,7 @@ class SpaceApi: self._remote_state = None self._last_set_at = 0 self._running = True + self._fail_count = 0 # number of consecutive fails self.set_state = ThreadFunction(self._set_state, "Space API") waker.register(self.set_state, RETRY_TIME) @@ -44,7 +45,11 @@ class SpaceApi: if self._local_state is not None and (self._local_state != self._remote_state or now > self._last_set_at+HEARTBEAT_TIME): # take action! success = self._do_request(self._local_state) - # TODO error too often -> log critical to send mails if success: self._remote_state = self._local_state self._last_set_at = now + self._fail_count = 0 + else: + self._fail_count += 1 + if self._fail_count in (5, 100): + logger.critical("Updating the SpaceAPI failed %d times in a row" % self._fail_count)