mirror of
https://github.com/langchain-ai/langgraph.git
synced 2026-09-06 01:37:49 +02:00
- Keep old code path for compatibility with existing checkpoints - Keep a similar order of application of updates, in some cases there will be no visible change - Update task path for Sends to contain the path of all the parent tasks (multiple parents when a Send task creates another Send) - That lineage path is used to ensure order of application of updates respects their logical lineage (ie updates from parents always applied before their child tasks) - Move Interrupt writes to use negative indexes, which allow replacing/shadowing (when task is re-run it may interrupt again, or succeed) - Runner will now attempt to schedule new Send tasks as soon as the write is received (ie while the originating node is still running) - Update kafka scheduler to support new Send behavior
43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
from langgraph.checkpoint.base import empty_checkpoint
|
|
from langgraph.pregel.algo import prepare_next_tasks
|
|
from langgraph.pregel.manager import ChannelsManager
|
|
|
|
|
|
def test_prepare_next_tasks() -> None:
|
|
config = {}
|
|
processes = {}
|
|
checkpoint = empty_checkpoint()
|
|
|
|
with ChannelsManager({}, checkpoint, config) as (channels, managed):
|
|
assert (
|
|
prepare_next_tasks(
|
|
checkpoint,
|
|
{},
|
|
processes,
|
|
channels,
|
|
managed,
|
|
config,
|
|
0,
|
|
for_execution=False,
|
|
)
|
|
== {}
|
|
)
|
|
assert (
|
|
prepare_next_tasks(
|
|
checkpoint,
|
|
{},
|
|
processes,
|
|
channels,
|
|
managed,
|
|
config,
|
|
0,
|
|
for_execution=True,
|
|
checkpointer=None,
|
|
store=None,
|
|
manager=None,
|
|
)
|
|
== {}
|
|
)
|
|
|
|
# TODO: add more tests
|