Explorar o código

fix: add redis lock timeout config

Yifang Deng hai 2 meses
pai
achega
41a2b86e70
Modificáronse 2 ficheiros con 3 adicións e 1 borrados
  1. 1 0
      backend/open_webui/env.py
  2. 2 1
      backend/open_webui/socket/main.py

+ 1 - 0
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", "")
 

+ 2 - 1
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