Skip to content

Commit 4c43b4c

Browse files
authored
fix(runnable_vertices_manager.py): add recursive function to find predecessors (#2593)
fix(runnable_vertices_manager.py): add recursive function to find runnable predecessors
1 parent 311b663 commit 4c43b4c

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/backend/base/langflow/graph/graph/runnable_vertices_manager.py

+12-3
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,20 @@ def find_runnable_predecessors_for_successors(self, vertex_id: str, inactivated_
6060
runnable_vertices = []
6161
visited = set()
6262

63+
def find_runnable_predecessors(predecessor_id: str):
64+
if predecessor_id in visited:
65+
return
66+
visited.add(predecessor_id)
67+
if self.is_vertex_runnable(predecessor_id, inactivated_vertices):
68+
runnable_vertices.append(predecessor_id)
69+
else:
70+
for pred_pred_id in self.run_predecessors.get(predecessor_id, []):
71+
find_runnable_predecessors(pred_pred_id)
72+
6373
for successor_id in self.run_map.get(vertex_id, []):
6474
for predecessor_id in self.run_predecessors.get(successor_id, []):
65-
if predecessor_id not in visited and self.is_vertex_runnable(predecessor_id, inactivated_vertices):
66-
runnable_vertices.append(predecessor_id)
67-
visited.add(predecessor_id)
75+
find_runnable_predecessors(predecessor_id)
76+
6877
return runnable_vertices
6978

7079
def remove_from_predecessors(self, vertex_id: str):

0 commit comments

Comments
 (0)