|
@@ -22,6 +22,7 @@ from open_webui.env import (
|
|
|
ENABLE_WEBSOCKET_SUPPORT,
|
|
|
WEBSOCKET_MANAGER,
|
|
|
WEBSOCKET_REDIS_URL,
|
|
|
+ WEBSOCKET_REDIS_CLUSTER,
|
|
|
WEBSOCKET_REDIS_LOCK_TIMEOUT,
|
|
|
WEBSOCKET_SENTINEL_PORT,
|
|
|
WEBSOCKET_SENTINEL_HOSTS,
|
|
@@ -86,6 +87,7 @@ if WEBSOCKET_MANAGER == "redis":
|
|
|
redis_sentinels=get_sentinels_from_env(
|
|
|
WEBSOCKET_SENTINEL_HOSTS, WEBSOCKET_SENTINEL_PORT
|
|
|
),
|
|
|
+ redis_cluster=WEBSOCKET_REDIS_CLUSTER,
|
|
|
async_mode=True,
|
|
|
)
|
|
|
|
|
@@ -96,16 +98,19 @@ if WEBSOCKET_MANAGER == "redis":
|
|
|
f"{REDIS_KEY_PREFIX}:session_pool",
|
|
|
redis_url=WEBSOCKET_REDIS_URL,
|
|
|
redis_sentinels=redis_sentinels,
|
|
|
+ redis_cluster=WEBSOCKET_REDIS_CLUSTER,
|
|
|
)
|
|
|
USER_POOL = RedisDict(
|
|
|
f"{REDIS_KEY_PREFIX}:user_pool",
|
|
|
redis_url=WEBSOCKET_REDIS_URL,
|
|
|
redis_sentinels=redis_sentinels,
|
|
|
+ redis_cluster=WEBSOCKET_REDIS_CLUSTER,
|
|
|
)
|
|
|
USAGE_POOL = RedisDict(
|
|
|
f"{REDIS_KEY_PREFIX}:usage_pool",
|
|
|
redis_url=WEBSOCKET_REDIS_URL,
|
|
|
redis_sentinels=redis_sentinels,
|
|
|
+ redis_cluster=WEBSOCKET_REDIS_CLUSTER,
|
|
|
)
|
|
|
|
|
|
clean_up_lock = RedisLock(
|
|
@@ -113,6 +118,7 @@ if WEBSOCKET_MANAGER == "redis":
|
|
|
lock_name="usage_cleanup_lock",
|
|
|
timeout_secs=WEBSOCKET_REDIS_LOCK_TIMEOUT,
|
|
|
redis_sentinels=redis_sentinels,
|
|
|
+ redis_cluster=WEBSOCKET_REDIS_CLUSTER,
|
|
|
)
|
|
|
aquire_func = clean_up_lock.aquire_lock
|
|
|
renew_func = clean_up_lock.renew_lock
|