|
|
|
@@ -156,7 +156,7 @@ class IterationNode(BaseNode[IterationNodeData]): |
|
|
|
index=0, |
|
|
|
pre_iteration_output=None, |
|
|
|
) |
|
|
|
outputs: list[Any] = [] |
|
|
|
outputs: list[Any] = [None] * len(iterator_list_value) |
|
|
|
try: |
|
|
|
if self.node_data.is_parallel: |
|
|
|
futures: list[Future] = [] |
|
|
|
@@ -214,6 +214,8 @@ class IterationNode(BaseNode[IterationNodeData]): |
|
|
|
graph_engine, |
|
|
|
iteration_graph, |
|
|
|
) |
|
|
|
if self.node_data.error_handle_mode == ErrorHandleMode.REMOVE_ABNORMAL_OUTPUT: |
|
|
|
outputs = [output for output in outputs if output is not None] |
|
|
|
yield IterationRunSucceededEvent( |
|
|
|
iteration_id=self.id, |
|
|
|
iteration_node_id=self.node_id, |
|
|
|
@@ -425,7 +427,7 @@ class IterationNode(BaseNode[IterationNodeData]): |
|
|
|
yield NodeInIterationFailedEvent( |
|
|
|
**metadata_event.model_dump(), |
|
|
|
) |
|
|
|
outputs.insert(current_index, None) |
|
|
|
outputs[current_index] = None |
|
|
|
variable_pool.add([self.node_id, "index"], next_index) |
|
|
|
if next_index < len(iterator_list_value): |
|
|
|
variable_pool.add([self.node_id, "item"], iterator_list_value[next_index]) |
|
|
|
@@ -473,7 +475,7 @@ class IterationNode(BaseNode[IterationNodeData]): |
|
|
|
yield metadata_event |
|
|
|
|
|
|
|
current_iteration_output = variable_pool.get(self.node_data.output_selector).value |
|
|
|
outputs.insert(current_index, current_iteration_output) |
|
|
|
outputs[current_index] = current_iteration_output |
|
|
|
# remove all nodes outputs from variable pool |
|
|
|
for node_id in iteration_graph.node_ids: |
|
|
|
variable_pool.remove([node_id]) |