File tree Expand file tree Collapse file tree
backend/open_webui/routers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -201,21 +201,30 @@ async def _process_handler(db_session):
201201 f'{ knowledge_id } : user { user .id } lacks write access'
202202 )
203203 else :
204- await Knowledges .add_file_to_knowledge_by_id (
205- knowledge_id = knowledge_id ,
206- file_id = file_item .id ,
207- user_id = user .id ,
208- directory_id = file_metadata .get ('directory_id' ),
204+ # Keep the generic file status stream open until the
205+ # KB-specific vector write and durable link both finish.
206+ await Files .update_file_data_by_id (
207+ file_item .id , {'status' : 'processing' }, db = db_session
209208 )
210209 await process_file (
211210 request ,
212211 ProcessFileForm (file_id = file_item .id , collection_name = knowledge_id ),
213212 user = user ,
214213 db = db_session ,
215214 )
215+ knowledge_file = await Knowledges .add_file_to_knowledge_by_id (
216+ knowledge_id = knowledge_id ,
217+ file_id = file_item .id ,
218+ user_id = user .id ,
219+ directory_id = file_metadata .get ('directory_id' ),
220+ db = db_session ,
221+ )
222+ if not knowledge_file :
223+ raise Exception (f'Failed to link file { file_item .id } to knowledge { knowledge_id } ' )
216224 log .info (f'Linked file { file_item .id } to knowledge { knowledge_id } ' )
217225 except Exception as e :
218226 log .warning (f'Failed to link file { file_item .id } to knowledge { knowledge_id } : { e } ' )
227+ raise
219228
220229 except Exception as e :
221230 log .error (f'Error processing file: { file_item .id } ' )
You can’t perform that action at this time.
0 commit comments