Skip to content

fix(s16): 等待并行 Agent 结束后再关闭工作流日志 - #571

Open
Bryce-border wants to merge 1 commit into
shareAI-lab:mainfrom
Bryce-border:fix/s16-drain-parallel-agents
Open

Bryce-border wants to merge 1 commit into
shareAI-lab:mainfrom
Bryce-border:fix/s16-drain-parallel-agents

Conversation

@Bryce-border

Copy link
Copy Markdown

Fixes #570

问题与修改

一个并行分支失败时,默认的 asyncio.gather() 会立即抛错,但其他分支仍在运行。
工作流提前关闭 journal 并报告失败,导致晚返回的成功结果无法保存,resume 时可能重复调用模型。

本次让 parallel() 等待已启动分支结束后再报告异常,pipeline() 复用相同逻辑。
成功结果能在关闭日志前保存,每个 pipeline item 仍独立经过各阶段。

修改沿用现有代码结构和测试体系,并同步更新中英日文档,修改的 Python 示例在三语中保持一致。
失败通知会比原先晚一些,需要等待其他分支结束;这是为了保留已经开始执行的模型工作的结果。

验证

  • 修复前:新增的 parallel/pipeline 两项回归测试均失败。
  • 修复后:两项均通过,覆盖结果持久化、最终用量以及 resume 不重复执行成功调用。
  • Linux / Python 3.12 环境下,46 项相关测试全部通过。
  • git diff --check 通过。
python -m pytest tests/test_workflow_goal_lessons.py tests/test_goal_loop.py tests/test_chapter_readmes.py -q

验证使用受控 runner,没有调用真实模型。本次范围不包括外部取消、进程崩溃或强制终止线程内的模型请求。

说明:本次使用 Codex 协助分析和准备修改,回归测试已在本地运行。

Signed-off-by: Bryce <1557635468@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

s16:一个并行分支失败后,journal 提前关闭,其他 Agent 的成功结果无法保存

1 participant