From 89e32ec01a4b5983708bb124fd9b24bbaa3dd25e Mon Sep 17 00:00:00 2001 From: "godon-robot[bot]" Date: Wed, 29 Jul 2026 15:23:43 +0000 Subject: [PATCH] fix: pass tag=breeder explicitly in Windmill dispatch Windmill does NOT inherit the script's stored tag for job routing. Without explicit tag, jobs get tag=default and breeder workers never pick them up. This was the root cause of the dispatch blocker. --- controller/breeder_service.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/controller/breeder_service.py b/controller/breeder_service.py index f5cb105..8a798ed 100755 --- a/controller/breeder_service.py +++ b/controller/breeder_service.py @@ -165,10 +165,13 @@ def start_optimization_flow(flow_id, shard_config, run_id, target_id, breeder_id logger.debug(f"Shard config: {shard_config.get('settings', {}).get('sysctl', {})}") # Launch the breeder worker script asynchronously - # Script tag is set at deployment time, Windmill routes based on script's tag + # Tag must be passed explicitly — Windmill does NOT inherit + # the script's stored tag for job routing. Without this, jobs + # get routed to default workers instead of breeder workers. job_id = wmill.run_script_by_path_async( path=script_path, - args=script_inputs + args=script_inputs, + tag="breeder" ) logger.info(f"Flow {flow_id} started with job ID: {job_id}")