fix: predictions row carries arm run_id under shared gate_log; drain evolve gather on failure (algo #6)
This commit is contained in:
+11
-7
@@ -1370,13 +1370,17 @@ class Runner:
|
||||
rejected=state.rejected_buffer.get(task_type, []),
|
||||
)
|
||||
|
||||
records = dict(
|
||||
zip(
|
||||
active_types,
|
||||
await asyncio.gather(*[_evolve_one(t) for t in active_types]),
|
||||
strict=True,
|
||||
)
|
||||
)
|
||||
# 首异常先取消其余进化任务并排水再向上传播(与 validate_skills_concurrent
|
||||
# 同款语义):避免失败后残留 in-flight LLM 任务与 pending task 警告。
|
||||
tasks = [asyncio.ensure_future(_evolve_one(t)) for t in active_types]
|
||||
try:
|
||||
evolved = await asyncio.gather(*tasks)
|
||||
except BaseException:
|
||||
for task in tasks:
|
||||
task.cancel()
|
||||
await asyncio.gather(*tasks, return_exceptions=True)
|
||||
raise
|
||||
records = dict(zip(active_types, evolved, strict=True))
|
||||
|
||||
# 无真实改动的题型照旧写 skipped 后出队
|
||||
gated: dict[str, EvolutionRecord] = {}
|
||||
|
||||
Reference in New Issue
Block a user