From a9bace8acaab07e6e5d02155a9966c6381ad107e Mon Sep 17 00:00:00 2001 From: Artur Borecki Date: Tue, 3 Mar 2026 20:41:58 +0100 Subject: [PATCH] feat(backend_server.py): add `ACK_TIMEOUT` constant --- src/judas_server/backend/backend_server.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/judas_server/backend/backend_server.py b/src/judas_server/backend/backend_server.py index 7bf4f20..dfdbcf0 100644 --- a/src/judas_server/backend/backend_server.py +++ b/src/judas_server/backend/backend_server.py @@ -6,7 +6,7 @@ import selectors import socket import threading import time -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, Final import yaml from judas_protocol import Category, ControlAction, Message @@ -21,6 +21,8 @@ if TYPE_CHECKING: class BackendServer: + ACK_TIMEOUT: Final[float] = 5.0 # seconds + def __init__(self, host: str = "0.0.0.0", port: int = 3692) -> None: """Initialize the backend server. @@ -356,12 +358,13 @@ class BackendServer: # check pending ACKs for client, msg, timestamp in self.pending_acks[:]: - if time.time() - timestamp > 5: # 5 second timeout + if time.time() - timestamp > self.ACK_TIMEOUT: self.logger.warning( f"ACK timeout for message {msg.id} to {client}, resending..." ) self.send(client, msg) self.pending_acks.remove((client, msg, timestamp)) + time.sleep(0.001) # prevent 100% CPU usage except Exception as e: