Skip to content

Commit f5b196c

Browse files
committed
refac
1 parent 247b866 commit f5b196c

1 file changed

Lines changed: 14 additions & 5 deletions

File tree

backend/open_webui/routers/files.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff 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}')

0 commit comments

Comments
 (0)