refactor: Refactors error handling in WorkflowNodeRunFailedError

Signed-off-by: -LAN- <laipz8200@outlook.com>
pull/22581/head
-LAN- 10 months ago
parent 578601975e
commit ae4c7ab34a
No known key found for this signature in database
GPG Key ID: 6BA0D108DED011FF

@ -2,7 +2,7 @@ from core.workflow.nodes.base import BaseNode
class WorkflowNodeRunFailedError(Exception):
def __init__(self, node: BaseNode, error: str):
self.node = node
self.error = error
super().__init__(f"Node {node.title} run failed: {error}")
def __init__(self, node: BaseNode, err_msg: str):
self._node = node
self._error = err_msg
super().__init__(f"Node {node.title} run failed: {err_msg}")

@ -193,7 +193,7 @@ class WorkflowEntry:
generator = node.run()
except Exception as e:
logger.exception(f"error while running node, {workflow.id=}, {node.id=}, {node.type_=}, {node.version()=}")
raise WorkflowNodeRunFailedError(node=node, error=str(e))
raise WorkflowNodeRunFailedError(node=node, err_msg=str(e))
return node, generator
@classmethod
@ -296,7 +296,7 @@ class WorkflowEntry:
return node, generator
except Exception as e:
logger.exception(f"error while running node, {node.id=}, {node.type_=}, {node.version()=}")
raise WorkflowNodeRunFailedError(node=node, error=str(e))
raise WorkflowNodeRunFailedError(node=node, err_msg=str(e))
@staticmethod
def handle_special_values(value: Optional[Mapping[str, Any]]) -> Mapping[str, Any] | None:

@ -509,10 +509,10 @@ class WorkflowService:
)
error = node_run_result.error if not run_succeeded else None
except WorkflowNodeRunFailedError as e:
node = e.node
node = e._node
run_succeeded = False
node_run_result = None
error = e.error
error = e._error
# Create a NodeExecution domain model
node_execution = WorkflowNodeExecution(

Loading…
Cancel
Save