implement redis_key_prefix env support in all areas invoking redis to allow for clustermode compatibility with new docs function

This commit is contained in:
Taylor Wilsdon 2025-07-22 13:40:29 -04:00
parent d21a2581a6
commit 3e686e9915
2 changed files with 9 additions and 8 deletions

View file

@ -25,6 +25,7 @@ from open_webui.env import (
WEBSOCKET_REDIS_LOCK_TIMEOUT, WEBSOCKET_REDIS_LOCK_TIMEOUT,
WEBSOCKET_SENTINEL_PORT, WEBSOCKET_SENTINEL_PORT,
WEBSOCKET_SENTINEL_HOSTS, WEBSOCKET_SENTINEL_HOSTS,
REDIS_KEY_PREFIX,
) )
from open_webui.utils.auth import decode_token from open_webui.utils.auth import decode_token
from open_webui.socket.utils import RedisDict, RedisLock, YdocManager from open_webui.socket.utils import RedisDict, RedisLock, YdocManager
@ -92,17 +93,17 @@ if WEBSOCKET_MANAGER == "redis":
WEBSOCKET_SENTINEL_HOSTS, WEBSOCKET_SENTINEL_PORT WEBSOCKET_SENTINEL_HOSTS, WEBSOCKET_SENTINEL_PORT
) )
SESSION_POOL = RedisDict( SESSION_POOL = RedisDict(
"open-webui:session_pool", f"{REDIS_KEY_PREFIX}:session_pool",
redis_url=WEBSOCKET_REDIS_URL, redis_url=WEBSOCKET_REDIS_URL,
redis_sentinels=redis_sentinels, redis_sentinels=redis_sentinels,
) )
USER_POOL = RedisDict( USER_POOL = RedisDict(
"open-webui:user_pool", f"{REDIS_KEY_PREFIX}:user_pool",
redis_url=WEBSOCKET_REDIS_URL, redis_url=WEBSOCKET_REDIS_URL,
redis_sentinels=redis_sentinels, redis_sentinels=redis_sentinels,
) )
USAGE_POOL = RedisDict( USAGE_POOL = RedisDict(
"open-webui:usage_pool", f"{REDIS_KEY_PREFIX}:usage_pool",
redis_url=WEBSOCKET_REDIS_URL, redis_url=WEBSOCKET_REDIS_URL,
redis_sentinels=redis_sentinels, redis_sentinels=redis_sentinels,
) )
@ -126,7 +127,7 @@ else:
YDOC_MANAGER = YdocManager( YDOC_MANAGER = YdocManager(
redis=REDIS, redis=REDIS,
redis_key_prefix="open-webui:ydoc:documents", redis_key_prefix=f"{REDIS_KEY_PREFIX}:ydoc:documents",
) )

View file

@ -8,7 +8,7 @@ from redis.asyncio import Redis
from fastapi import Request from fastapi import Request
from typing import Dict, List, Optional from typing import Dict, List, Optional
from open_webui.env import SRC_LOG_LEVELS from open_webui.env import SRC_LOG_LEVELS, REDIS_KEY_PREFIX
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@ -19,9 +19,9 @@ tasks: Dict[str, asyncio.Task] = {}
item_tasks = {} item_tasks = {}
REDIS_TASKS_KEY = "open-webui:tasks" REDIS_TASKS_KEY = f"{REDIS_KEY_PREFIX}:tasks"
REDIS_ITEM_TASKS_KEY = "open-webui:tasks:item" REDIS_ITEM_TASKS_KEY = f"{REDIS_KEY_PREFIX}:tasks:item"
REDIS_PUBSUB_CHANNEL = "open-webui:tasks:commands" REDIS_PUBSUB_CHANNEL = f"{REDIS_KEY_PREFIX}:tasks:commands"
async def redis_task_command_listener(app): async def redis_task_command_listener(app):