When there is an internal server error, we won't log an error and hold off updates for a while. This is an error on the provider's side and the client must retry in order to update the hostname.
This error was seen with selfhost.
Signed-off-by: Michael Tremer michael.tremer@ipfire.org --- src/ddns/providers.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/ddns/providers.py b/src/ddns/providers.py index fc1fb82..9eaaa6c 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -161,10 +161,13 @@ class DDNSProvider(object): try: self.update()
- # Catch network errors early, because we do not want to log + # 1) Catch network errors early, because we do not want to log # them to the database. They are usually temporary and caused # by the client side, so that we will retry quickly. - except DDNSNetworkError as e: + # 2) If there is an internet server error (HTTP code 500) on the + # provider's site, we will not log a failure and try again + # shortly. + except (DDNSNetworkError, DDNSInternalServerError): raise
# In case of any errors, log the failed request and