From 176fa462128d5298492db29c67080a4e1afc2642 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 25 Aug 2026 10:03:53 -0400 Subject: [PATCH] refac Co-Authored-By: Classic298 <27028174+Classic298@users.noreply.github.com> --- backend/open_webui/env.py | 5 +++++ backend/open_webui/tasks.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/env.py b/backend/open_webui/env.py index 34a2df1203..aec11a8a3f 100644 --- a/backend/open_webui/env.py +++ b/backend/open_webui/env.py @@ -376,6 +376,11 @@ REDIS_CLUSTER = os.getenv('REDIS_CLUSTER', 'False').lower() == 'true' REDIS_KEY_PREFIX = os.getenv('REDIS_KEY_PREFIX', 'open-webui') +try: + REDIS_RESPONSE_STREAM_TTL = int(os.getenv('REDIS_RESPONSE_STREAM_TTL', '3600')) +except ValueError: + REDIS_RESPONSE_STREAM_TTL = 3600 + REDIS_SENTINEL_HOSTS = os.getenv('REDIS_SENTINEL_HOSTS', '') REDIS_SENTINEL_PORT = os.getenv('REDIS_SENTINEL_PORT', '26379') diff --git a/backend/open_webui/tasks.py b/backend/open_webui/tasks.py index 04bb6ce06f..ef15c57a18 100644 --- a/backend/open_webui/tasks.py +++ b/backend/open_webui/tasks.py @@ -6,7 +6,7 @@ from uuid import uuid4 from redis.asyncio import Redis -from open_webui.env import REDIS_KEY_PREFIX +from open_webui.env import REDIS_KEY_PREFIX, REDIS_RESPONSE_STREAM_TTL from open_webui.utils.json_codec import JSONCodec, dumps_bytes log = logging.getLogger(__name__) @@ -186,6 +186,9 @@ async def save_response_stream( if redis: await redis.hset(REDIS_RESPONSE_STREAMS_KEY, task_id, dumps_bytes(data)) + if REDIS_RESPONSE_STREAM_TTL > 0: + with suppress(Exception): + await redis.hexpire(REDIS_RESPONSE_STREAMS_KEY, REDIS_RESPONSE_STREAM_TTL, task_id) else: response_streams[task_id] = data