From 78fa1f68684d02ba47314bf00640b8f591698135 Mon Sep 17 00:00:00 2001 From: takatost Date: Tue, 3 Sep 2024 18:23:25 +0800 Subject: [PATCH] fix(workflow): detached session issues --- api/core/app/apps/advanced_chat/generate_task_pipeline.py | 4 ++++ api/core/app/apps/workflow/app_runner.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/core/app/apps/advanced_chat/generate_task_pipeline.py b/api/core/app/apps/advanced_chat/generate_task_pipeline.py index 812ec73e82..fb013cd1b1 100644 --- a/api/core/app/apps/advanced_chat/generate_task_pipeline.py +++ b/api/core/app/apps/advanced_chat/generate_task_pipeline.py @@ -438,14 +438,18 @@ class AdvancedChatAppGenerateTaskPipeline(BasedGenerateTaskPipeline, WorkflowCyc if self._task_state.metadata else None db.session.commit() + db.session.refresh(self._message) db.session.close() elif isinstance(event, QueueAnnotationReplyEvent): self._handle_annotation_reply(event) + self._refetch_message() + self._message.message_metadata = json.dumps(jsonable_encoder(self._task_state.metadata)) \ if self._task_state.metadata else None db.session.commit() + db.session.refresh(self._message) db.session.close() elif isinstance(event, QueueTextChunkEvent): delta_text = event.text diff --git a/api/core/app/apps/workflow/app_runner.py b/api/core/app/apps/workflow/app_runner.py index 836ce16c86..9d48db7546 100644 --- a/api/core/app/apps/workflow/app_runner.py +++ b/api/core/app/apps/workflow/app_runner.py @@ -17,6 +17,7 @@ from core.workflow.enums import SystemVariableKey from core.workflow.workflow_entry import WorkflowEntry from extensions.ext_database import db from models.model import App, EndUser +from models.workflow import WorkflowType logger = logging.getLogger(__name__) @@ -107,7 +108,7 @@ class WorkflowAppRunner(WorkflowBasedAppRunner): tenant_id=workflow.tenant_id, app_id=workflow.app_id, workflow_id=workflow.id, - workflow_type=workflow.type, + workflow_type=WorkflowType.value_of(workflow.type), graph=graph, graph_config=workflow.graph_dict, user_id=self.application_generate_entity.user_id,