diff --git a/backend/open_webui/env.py b/backend/open_webui/env.py index ba546a2eb..4be87dbad 100644 --- a/backend/open_webui/env.py +++ b/backend/open_webui/env.py @@ -386,6 +386,7 @@ ENABLE_WEBSOCKET_SUPPORT = ( WEBSOCKET_MANAGER = os.environ.get("WEBSOCKET_MANAGER", "") WEBSOCKET_REDIS_URL = os.environ.get("WEBSOCKET_REDIS_URL", REDIS_URL) +WEBSOCKET_REDIS_LOCK_TIMEOUT_IN_SECONDS = os.environ.get("WEBSOCKET_REDIS_LOCK_TIMEOUT_IN_SECONDS", 60) AIOHTTP_CLIENT_TIMEOUT = os.environ.get("AIOHTTP_CLIENT_TIMEOUT", "") diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py index 6f5915122..3813cb082 100644 --- a/backend/open_webui/socket/main.py +++ b/backend/open_webui/socket/main.py @@ -12,6 +12,7 @@ from open_webui.env import ( ENABLE_WEBSOCKET_SUPPORT, WEBSOCKET_MANAGER, WEBSOCKET_REDIS_URL, + WEBSOCKET_REDIS_LOCK_TIMEOUT_IN_SECONDS, ) from open_webui.utils.auth import decode_token from open_webui.socket.utils import RedisDict, RedisLock @@ -61,7 +62,7 @@ if WEBSOCKET_MANAGER == "redis": clean_up_lock = RedisLock( redis_url=WEBSOCKET_REDIS_URL, lock_name="usage_cleanup_lock", - timeout_secs=TIMEOUT_DURATION * 2, + timeout_secs=WEBSOCKET_REDIS_LOCK_TIMEOUT_IN_SECONDS, ) aquire_func = clean_up_lock.aquire_lock renew_func = clean_up_lock.renew_lock