X-Git-Url: https://git.ralfj.de/saartuer.git/blobdiff_plain/b8b6e14e6923809efc61c71dd94b1e66026aad9b..dfd60ef69a6fa4b790250431f9b7fde6da084ec9:/spaceapi.py diff --git a/spaceapi.py b/spaceapi.py index eea73f6..7f788ab 100644 --- a/spaceapi.py +++ b/spaceapi.py @@ -4,7 +4,7 @@ import urllib.request, time from config import spaceApiKey -RETRY_TIME = 30 +RETRY_TIME = 60 HEARTBEAT_TIME = 10*60 class SpaceApi: @@ -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, 50, 500): + logger.critical("Updating the SpaceAPI failed %d times in a row" % self._fail_count)