From cb25ef985d09d131ee6a45d02cdd0d2948a2f037 Mon Sep 17 00:00:00 2001 From: Sydney Runkle Date: Mon, 28 Apr 2025 10:18:39 -0400 Subject: [PATCH] update loop to append mapped tasks to task specific values --- libs/langgraph/langgraph/pregel/algo.py | 30 ++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libs/langgraph/langgraph/pregel/algo.py b/libs/langgraph/langgraph/pregel/algo.py index 029cf73be..91a5b4181 100644 --- a/libs/langgraph/langgraph/pregel/algo.py +++ b/libs/langgraph/langgraph/pregel/algo.py @@ -2,6 +2,7 @@ import binascii import itertools import sys import threading +import warnings from collections import defaultdict, deque from collections.abc import Iterable, Mapping, Sequence from copy import copy @@ -902,23 +903,22 @@ def _scratchpad( # distinguish from missing when used over http null_resume_write = None + # find task-specific resume value + for w in pending_writes: + if w[0] == task_id and w[1] == RESUME: + task_resume_write = w[2] + if not isinstance(task_resume_write, list): + task_resume_write = [task_resume_write] + break + else: + task_resume_write = [] + del w + # find namespace and task-specific resume value if resume_map and namespace_hash in resume_map: - task_resume_write = resume_map[namespace_hash] - if not isinstance(task_resume_write, list): - task_resume_write = [task_resume_write] - else: - # find task-specific resume value - for w in pending_writes: - if w[0] == task_id and w[1] == RESUME: - task_resume_write = w[2] - if not isinstance(task_resume_write, list): - task_resume_write = [task_resume_write] - break - else: - task_resume_write = [] - # clear var - del w + mapped_resume_write = resume_map[namespace_hash] + task_resume_write.append(mapped_resume_write) + else: null_resume_write = None task_resume_write = []