From d314e497f88d1b8f109b1c0768dd6e41de6ba522 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Wed, 4 Dec 2024 14:54:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=9F=A5=E8=AF=86?= =?UTF-8?q?=E5=BA=93=E5=90=91=E9=87=8F=E5=8C=96=E6=8F=90=E7=A4=BA=E9=94=99?= =?UTF-8?q?=E8=AF=AF=20(#1756)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dataset/serializers/dataset_serializers.py | 7 ++++++- apps/dataset/serializers/document_serializers.py | 1 + ui/src/workflow/common/NodeCascader.vue | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/dataset/serializers/dataset_serializers.py b/apps/dataset/serializers/dataset_serializers.py index a0c171559..000737649 100644 --- a/apps/dataset/serializers/dataset_serializers.py +++ b/apps/dataset/serializers/dataset_serializers.py @@ -15,6 +15,7 @@ from functools import reduce from typing import Dict, List from urllib.parse import urlparse +from celery_once import AlreadyQueued, QueueOnce from django.contrib.postgres.fields import ArrayField from django.core import validators from django.db import transaction, models @@ -732,6 +733,7 @@ class DataSetSerializers(serializers.ModelSerializer): delete_embedding_by_dataset(self.data.get('id')) return True + @transaction.atomic def re_embedding(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) @@ -743,7 +745,10 @@ class DataSetSerializers(serializers.ModelSerializer): State.PENDING) ListenerManagement.get_aggregation_document_status_by_dataset_id(self.data.get('id'))() embedding_model_id = get_embedding_model_id_by_dataset_id(self.data.get('id')) - embedding_by_dataset.delay(self.data.get('id'), embedding_model_id) + try: + embedding_by_dataset.delay(self.data.get('id'), embedding_model_id) + except AlreadyQueued as e: + raise AppApiException(500, "向量化任务发送失败,请稍后再试!") def list_application(self, with_valid=True): if with_valid: diff --git a/apps/dataset/serializers/document_serializers.py b/apps/dataset/serializers/document_serializers.py index 5c8457302..02e5313ce 100644 --- a/apps/dataset/serializers/document_serializers.py +++ b/apps/dataset/serializers/document_serializers.py @@ -621,6 +621,7 @@ class DocumentSerializers(ApiMixin, serializers.Serializer): _document.save() return self.one() + @transaction.atomic def refresh(self, with_valid=True): if with_valid: self.is_valid(raise_exception=True) diff --git a/ui/src/workflow/common/NodeCascader.vue b/ui/src/workflow/common/NodeCascader.vue index 8affa4759..dfe734eb0 100644 --- a/ui/src/workflow/common/NodeCascader.vue +++ b/ui/src/workflow/common/NodeCascader.vue @@ -113,7 +113,7 @@ const validate = () => { return Promise.resolve('') } props.nodeModel.graphModel.eventCenter.on('refresh_incoming_node_field', () => { - getIncomingNode(props.nodeModel.id) + options.value = getIncomingNode(props.nodeModel.id) }) defineExpose({ validate }) onMounted(() => {