From 920f487de27deefd3bb6f9228efa391f72ae81e9 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ale=C5=A1=20Mr=C3=A1zek?= Date: Tue, 20 Feb 2024 18:29:21 +0100 Subject: [PATCH] utils/request.py: higher timeout for http request --- manager/knot_resolver_manager/utils/requests.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/manager/knot_resolver_manager/utils/requests.py b/manager/knot_resolver_manager/utils/requests.py index c46ed5dd0..72a4d1faf 100644 --- a/manager/knot_resolver_manager/utils/requests.py +++ b/manager/knot_resolver_manager/utils/requests.py @@ -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 -- 2.47.2