From a8fe74f771c2e2bd758bf912406f50ffc3f47a53 Mon Sep 17 00:00:00 2001 From: Rob Ballantyne Date: Wed, 27 Aug 2025 18:34:45 +0100 Subject: [PATCH 1/3] Remove default 300s timeout --- lib/backend.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/backend.py b/lib/backend.py index 51f71cd..7349091 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -75,7 +75,8 @@ class Backend: @cached_property def session(self): log.debug(f"starting session with {self.model_server_url}") - return ClientSession(self.model_server_url) + timeout = ClientTimeout(total=None) + return ClientSession(self.model_server_url, timeout=timeout) def create_handler( self, From 4c5fa03c7b4adc1d7c134498873d8cb2ca17b00b Mon Sep 17 00:00:00 2001 From: Rob Ballantyne Date: Wed, 27 Aug 2025 20:54:27 +0100 Subject: [PATCH 2/3] adds import for ClientTimeout --- lib/backend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/backend.py b/lib/backend.py index 7349091..b087e22 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -11,7 +11,7 @@ from functools import cached_property from distutils.util import strtobool from anyio import open_file -from aiohttp import web, ClientResponse, ClientSession, ClientConnectorError +from aiohttp import web, ClientResponse, ClientSession, ClientConnectorError, ClientTimeout import requests from Crypto.Signature import pkcs1_15 From 1e4fa87437240544296f82ff1dd7ec851a8c06f9 Mon Sep 17 00:00:00 2001 From: Rob Ballantyne Date: Thu, 28 Aug 2025 15:48:57 +0100 Subject: [PATCH 3/3] Prevent timeout and allow long running connections --- lib/backend.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/backend.py b/lib/backend.py index b087e22..508d522 100644 --- a/lib/backend.py +++ b/lib/backend.py @@ -11,7 +11,7 @@ from functools import cached_property from distutils.util import strtobool from anyio import open_file -from aiohttp import web, ClientResponse, ClientSession, ClientConnectorError, ClientTimeout +from aiohttp import web, ClientResponse, ClientSession, ClientConnectorError, ClientTimeout, TCPConnector import requests from Crypto.Signature import pkcs1_15 @@ -75,8 +75,13 @@ class Backend: @cached_property def session(self): log.debug(f"starting session with {self.model_server_url}") + connector = TCPConnector( + force_close=True, # Required for long running jobs + enable_cleanup_closed=True, + ) + timeout = ClientTimeout(total=None) - return ClientSession(self.model_server_url, timeout=timeout) + return ClientSession(self.model_server_url, timeout=timeout, connector=connector) def create_handler( self,