refactor: optimize batch_sync method to include knowledge_id and workspace_id
--bug=1057859 --user=刘瑞斌 【知识库】正在向量化/生成问题中的文档,点击同步文档后没有取消当前文档的向量化/生成问题任务,重新进行同步+向量化/生成问题 https://www.tapd.cn/62980211/s/1728222
This commit is contained in:
parent
803b49e891
commit
17e1cbcf48
@ -1173,17 +1173,21 @@ class DocumentSerializers(serializers.Serializer):
|
|||||||
with_search_one=False
|
with_search_one=False
|
||||||
), knowledge_id, workspace_id
|
), knowledge_id, workspace_id
|
||||||
|
|
||||||
@staticmethod
|
|
||||||
def _batch_sync(document_id_list: List[str]):
|
|
||||||
for document_id in document_id_list:
|
|
||||||
DocumentSerializers.Sync(data={'document_id': document_id}).sync()
|
|
||||||
|
|
||||||
def batch_sync(self, instance: Dict, with_valid=True):
|
def batch_sync(self, instance: Dict, with_valid=True):
|
||||||
if with_valid:
|
if with_valid:
|
||||||
BatchSerializer(data=instance).is_valid(model=Document, raise_exception=True)
|
BatchSerializer(data=instance).is_valid(model=Document, raise_exception=True)
|
||||||
self.is_valid(raise_exception=True)
|
self.is_valid(raise_exception=True)
|
||||||
# 异步同步
|
# 异步同步
|
||||||
work_thread_pool.submit(self._batch_sync, instance.get('id_list'))
|
work_thread_pool.submit(
|
||||||
|
lambda doc_ids: [
|
||||||
|
DocumentSerializers.Sync(data={
|
||||||
|
'document_id': doc_id,
|
||||||
|
'knowledge_id': self.data.get('knowledge_id'),
|
||||||
|
'workspace_id': self.data.get('workspace_id')
|
||||||
|
}).sync() for doc_id in doc_ids
|
||||||
|
],
|
||||||
|
instance.get('id_list')
|
||||||
|
)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user