mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-16 14:39:31 -05:00
[GH-ISSUE #24566] feat: Improve Knowledge file processing reliability for slow external parsers: bounded concurrency and durable queue #107332
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @KingsleyOWO on GitHub (May 11, 2026).
Original GitHub issue: https://github.com/open-webui/open-webui/issues/24566
Check Existing Issues
Verify Feature Scope
Problem Description
OpenWebUI currently relies on FastAPI
BackgroundTasksfor Knowledge file parsing and ingestion. The upload request can return before parsing is actually finished, and the file lifecycle is tracked mainly throughfile.data.statusrather than a durable processing job.This becomes problematic when OpenWebUI is configured with a slow external document parser such as MinerU, Tika, or Docling.
In multi-file Knowledge uploads, several files can be processed at the same time. Each background task can call the external parser concurrently, but there is no durable queue, retry counter, worker ID, lease, or configurable concurrency limit on the OpenWebUI side.
This can lead to:
This is not specific to one deployment. It can be reproduced with a mock external parser that sleeps for several seconds per request and then uploading multiple files quickly.
The core issue is that file processing is currently in-process and non-durable, while external document parsers may be slow or resource-constrained.
Desired Solution you'd like
I would like OpenWebUI to support safer file processing for slow external parsers.
A minimal first step could be a configurable concurrency limit around RAG file processing / external parser calls, for example: