fix(knowledge_router): 处理MinIO删除文件失败时继续删除知识库记录
Fixes #362 添加对MinIO删除文件失败的异常处理,确保即使MinIO操作失败(如旧知识库无MinIO实例),也能继续从知识库删除记录
This commit is contained in:
parent
100f9dac7f
commit
959defb938
@ -411,8 +411,16 @@ async def delete_document(db_id: str, doc_id: str, current_user: User = Depends(
|
||||
try:
|
||||
file_meta_info = await knowledge_base.get_file_basic_info(db_id, doc_id)
|
||||
file_name = file_meta_info.get("meta", {}).get("filename")
|
||||
minio_client = get_minio_client()
|
||||
await minio_client.adelete_file("ref-" + db_id.replace("_", "-"), file_name)
|
||||
|
||||
# 尝试从MinIO删除文件,如果失败(例如旧知识库没有MinIO实例),则忽略
|
||||
try:
|
||||
minio_client = get_minio_client()
|
||||
await minio_client.adelete_file("ref-" + db_id.replace("_", "-"), file_name)
|
||||
logger.debug(f"成功从MinIO删除文件: {file_name}")
|
||||
except Exception as minio_error:
|
||||
logger.warning(f"从MinIO删除文件失败(可能是旧知识库): {minio_error}")
|
||||
|
||||
# 无论MinIO删除是否成功,都继续从知识库删除
|
||||
await knowledge_base.delete_file(db_id, doc_id)
|
||||
return {"message": "删除成功"}
|
||||
except Exception as e:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user