]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
utils/request.py: higher timeout for http request docs-develop-kres-hedyoz/deployments/3316
authorAleš Mrázek <ales.mrazek@nic.cz>
Tue, 20 Feb 2024 17:29:21 +0000 (18:29 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Wed, 21 Feb 2024 13:26:53 +0000 (14:26 +0100)
manager/knot_resolver_manager/utils/requests.py

index c46ed5dd05e552c748a4be93c0a4560daa9a6733..72a4d1faf7368ce4f8b87536e71eabe0f25a666a 100644 (file)
@@ -70,8 +70,9 @@ def request(
     )
     # req.add_header("Authorization", _authorization_header)
 
+    timeout_m = 5  # minutes
     try:
-        with urlopen(req) as response:
+        with urlopen(req, timeout=timeout_m * 60) as response:
             return Response(response.status, response.read().decode("utf8"))
     except HTTPError as err:
         return Response(err.code, err.read().decode("utf8"))
@@ -83,6 +84,15 @@ def request(
         else:
             _print_conn_error(str(err), url, socket_desc.source)
         sys.exit(1)
+    except (TimeoutError, socket.timeout):
+        _print_conn_error(
+            f"Connection timed out after {timeout_m} minutes."
+            "\nIt does not mean that the operation necessarily failed."
+            "\nSee Knot Resolver's log for more information.",
+            url,
+            socket_desc.source,
+        )
+        sys.exit(1)
 
 
 # Code heavily inspired by requests-unixsocket