Prechádzať zdrojové kódy

feat(workflow-nodes): handle missing variables without failure (#10471)

-LAN- 5 mesiacov pred
rodič
commit
bf31a3efbc

+ 1 - 7
api/core/workflow/nodes/code/code_node.py

@@ -49,13 +49,7 @@ class CodeNode(BaseNode[CodeNodeData]):
         for variable_selector in self.node_data.variables:
             variable_name = variable_selector.variable
             variable = self.graph_runtime_state.variable_pool.get(variable_selector.value_selector)
-            if variable is None:
-                return NodeRunResult(
-                    status=WorkflowNodeExecutionStatus.FAILED,
-                    inputs=variables,
-                    error=f"Variable `{variable_selector.value_selector}` not found",
-                )
-            variables[variable_name] = variable.to_object()
+            variables[variable_name] = variable.to_object() if variable else None
         # Run code
         try:
             result = CodeExecutor.execute_workflow_code_template(

+ 1 - 6
api/core/workflow/nodes/template_transform/template_transform_node.py

@@ -34,12 +34,7 @@ class TemplateTransformNode(BaseNode[TemplateTransformNodeData]):
         for variable_selector in self.node_data.variables:
             variable_name = variable_selector.variable
             value = self.graph_runtime_state.variable_pool.get(variable_selector.value_selector)
-            if value is None:
-                return NodeRunResult(
-                    status=WorkflowNodeExecutionStatus.FAILED,
-                    error=f"Variable {variable_name} not found in variable pool",
-                )
-            variables[variable_name] = value.to_object()
+            variables[variable_name] = value.to_object() if value else None
         # Run code
         try:
             result = CodeExecutor.execute_workflow_code_template(