Add DistributedJoin and dynamic list-queue splitter mode

This commit is contained in:
Robert Wojciechowski
2026-03-01 23:29:50 +00:00
parent e37a001d59
commit 34123a0d30
13 changed files with 1096 additions and 24 deletions
+6 -3
View File
@@ -326,6 +326,7 @@ async def orchestrate_distributed_execution(
queue_node_ids = (
prompt_index.nodes_for_class("DistributedCollector")
+ prompt_index.nodes_for_class("DistributedListCollector")
+ prompt_index.nodes_for_class("DistributedJoin")
+ prompt_index.nodes_for_class("UltimateSDUpscaleDistributed")
)
for node_id in queue_node_ids:
@@ -345,8 +346,10 @@ async def orchestrate_distributed_execution(
)
if delegate_master:
collector_ids = find_nodes_by_class(master_prompt, "DistributedCollector") + find_nodes_by_class(
master_prompt, "DistributedListCollector"
collector_ids = (
find_nodes_by_class(master_prompt, "DistributedCollector")
+ find_nodes_by_class(master_prompt, "DistributedListCollector")
+ find_nodes_by_class(master_prompt, "DistributedJoin")
)
upscale_nodes = find_nodes_by_class(master_prompt, "UltimateSDUpscaleDistributed")
if upscale_nodes:
@@ -355,7 +358,7 @@ async def orchestrate_distributed_execution(
)
elif not collector_ids:
debug_log(
"Delegate-only master mode requested but no collectors found in master prompt. Running full prompt on master."
"Delegate-only master mode requested but no collector/join nodes found in master prompt. Running full prompt on master."
)
else:
master_prompt = prepare_delegate_master_prompt(master_prompt, collector_ids)