feat: kd service after_delete, after_batch_delete
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import asyncio
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
@@ -5,6 +6,7 @@ from sqlmodel import Field
|
|||||||
|
|
||||||
from app.model.BasicModel import BasicModel
|
from app.model.BasicModel import BasicModel
|
||||||
from app.utils.create_module_service import create_model_service
|
from app.utils.create_module_service import create_model_service
|
||||||
|
from app.utils.milvus_utils import milvus_service
|
||||||
|
|
||||||
|
|
||||||
class KnowledgeDocStatus(Enum):
|
class KnowledgeDocStatus(Enum):
|
||||||
@@ -23,4 +25,20 @@ class KnowledgeDocModel(BasicModel, table=True):
|
|||||||
error: Optional[str] = Field(default=None, description="文档处理失败时的错误信息")
|
error: Optional[str] = Field(default=None, description="文档处理失败时的错误信息")
|
||||||
|
|
||||||
|
|
||||||
KnowledgeDocService = create_model_service(KnowledgeDocModel)
|
async def handle_after_delete(doc_cls):
|
||||||
|
await milvus_service.async_delete(doc_cls.id)
|
||||||
|
|
||||||
|
|
||||||
|
async def handle_after_batch_delete(doc_cls_list):
|
||||||
|
task_list = [
|
||||||
|
asyncio.create_task(handle_after_delete(doc_cls))
|
||||||
|
for doc_cls in doc_cls_list
|
||||||
|
]
|
||||||
|
await asyncio.gather(*task_list)
|
||||||
|
|
||||||
|
|
||||||
|
KnowledgeDocService = create_model_service(
|
||||||
|
KnowledgeDocModel,
|
||||||
|
after_delete=handle_after_delete,
|
||||||
|
after_batch_delete=handle_after_batch_delete
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user