diff --git a/backend/open_webui/socket/main.py b/backend/open_webui/socket/main.py index 5157c3ed36..1168d5945f 100644 --- a/backend/open_webui/socket/main.py +++ b/backend/open_webui/socket/main.py @@ -206,7 +206,7 @@ async def periodic_session_pool_cleanup(): if expired: log.warning('Reaping %d orphaned session(s) from the session pool', len(expired)) if WEBSOCKET_MANAGER == 'redis': - SESSION_POOL.pop_many(*expired) + SESSION_POOL.delete_many(*expired) else: for sid in expired: SESSION_POOL.pop(sid, None) diff --git a/backend/open_webui/socket/utils.py b/backend/open_webui/socket/utils.py index 3e1479bde0..323735f6f1 100644 --- a/backend/open_webui/socket/utils.py +++ b/backend/open_webui/socket/utils.py @@ -115,10 +115,11 @@ class RedisDict: if cursor == 0: break - def pop_many(self, *keys): + def delete_many(self, *keys): """Delete fields in one HDEL; no keys is a no-op (HDEL rejects an empty field list).""" if keys: self.redis.hdel(self.name, *keys) + self._last_signature = None def set(self, mapping: dict): if not mapping: