From 3e54cb26beee1c23c31c8eaa2f01ef32a9e8f471 Mon Sep 17 00:00:00 2001 From: takatost Date: Thu, 7 Mar 2024 10:09:23 +0800 Subject: [PATCH] move funcs --- api/core/workflow/workflow_engine_manager.py | 25 -------------------- api/services/workflow_service.py | 14 +++++++---- 2 files changed, 10 insertions(+), 29 deletions(-) diff --git a/api/core/workflow/workflow_engine_manager.py b/api/core/workflow/workflow_engine_manager.py index 4d881d3d04..8ab0eb4802 100644 --- a/api/core/workflow/workflow_engine_manager.py +++ b/api/core/workflow/workflow_engine_manager.py @@ -51,30 +51,6 @@ node_classes = { class WorkflowEngineManager: - def get_draft_workflow(self, app_model: App) -> Optional[Workflow]: - """ - Get draft workflow - """ - # fetch draft workflow by app_model - workflow = db.session.query(Workflow).filter( - Workflow.tenant_id == app_model.tenant_id, - Workflow.app_id == app_model.id, - Workflow.version == 'draft' - ).first() - - # return draft workflow - return workflow - - def get_published_workflow(self, app_model: App) -> Optional[Workflow]: - """ - Get published workflow - """ - if not app_model.workflow_id: - return None - - # fetch published workflow by workflow_id - return self.get_workflow(app_model, app_model.workflow_id) - def get_workflow(self, app_model: App, workflow_id: str) -> Optional[Workflow]: """ Get workflow @@ -404,7 +380,6 @@ class WorkflowEngineManager: :param max_execution_time: max execution time :return: """ - # TODO check queue is stopped return time.perf_counter() - start_at > max_execution_time def _run_workflow_node(self, workflow_run_state: WorkflowRunState, diff --git a/api/services/workflow_service.py b/api/services/workflow_service.py index 144d136bdc..833c22cdff 100644 --- a/api/services/workflow_service.py +++ b/api/services/workflow_service.py @@ -26,22 +26,28 @@ class WorkflowService: """ Get draft workflow """ - workflow_engine_manager = WorkflowEngineManager() + # fetch draft workflow by app_model + workflow = db.session.query(Workflow).filter( + Workflow.tenant_id == app_model.tenant_id, + Workflow.app_id == app_model.id, + Workflow.version == 'draft' + ).first() # return draft workflow - return workflow_engine_manager.get_draft_workflow(app_model=app_model) + return workflow def get_published_workflow(self, app_model: App) -> Optional[Workflow]: """ Get published workflow """ + if not app_model.workflow_id: return None workflow_engine_manager = WorkflowEngineManager() - # return published workflow - return workflow_engine_manager.get_published_workflow(app_model=app_model) + # fetch published workflow by workflow_id + return workflow_engine_manager.get_workflow(app_model, app_model.workflow_id) def sync_draft_workflow(self, app_model: App, graph: dict,