mirror of
https://github.com/open-webui/open-webui.git
synced 2026-09-16 23:43:03 +00:00
- seq key now gets EXPIRE on the same periodic cadence as the stream key, not just on the first INCR. Prevents INCR restarting at 1 on responses longer than RESUME_STREAM_TTL_SEC (1h), which would have corrupted replay ordering. - Hot-path Redis timeout trimmed 200ms → 100ms. Halves worst-case stall under degraded Redis (now ~200ms max per frame if both INCR and append time out); healthy Redis (<1ms) is unaffected. Not addressed: the fundamental 2-RTT-per-frame cost of separate INCR and XADD. Collapsing them would require either a Lua script (cluster hash-tag concerns) or switching to Redis stream IDs as the seq cursor (invasive protocol change). Leaving the structure intact — if profiling shows real stalls in prod, stream-ID-as-seq is the cleaner follow-up. |
||
|---|---|---|
| .. | ||
| data | ||
| internal | ||
| migrations | ||
| models | ||
| retrieval | ||
| routers | ||
| socket | ||
| static | ||
| storage | ||
| test | ||
| tools | ||
| utils | ||
| __init__.py | ||
| alembic.ini | ||
| config.py | ||
| constants.py | ||
| env.py | ||
| functions.py | ||
| main.py | ||
| tasks.py | ||