Skip to content

feat(agent-job):支持 Job 即时逻辑取消与执行占用收敛 - #50

Merged
Heyflyingpig merged 5 commits into
developfrom
feat(job-cancel)/soft-stop
Aug 15, 2026
Merged

feat(agent-job):支持 Job 即时逻辑取消与执行占用收敛#50
Heyflyingpig merged 5 commits into
developfrom
feat(job-cancel)/soft-stop

Conversation

@Heyflyingpig

Copy link
Copy Markdown
Owner

Summary

实现 Job 的即时逻辑取消、协作式执行撤销和安全资源释放。

Changes

  • 支持 queued、running、waiting_input Job 取消。
  • running Job 取消后进入 canceled/draining,避免提前释放仍可能执行的 worker slot。
  • 新增 execution_state、执行释放时间、释放原因和数据库约束。
  • 增加 JobExecutionGuard,阻止取消后的迟到结果进入 LangGraph 后续流程。
  • 修复 EventWriter abort、失败 fencing、Future 清理和 worker cleanup。
  • 更新 Session、用户和文件删除阻断规则。
  • 更新普通用户取消按钮、SSE 代次隔离和取消时间线展示。
  • 更新管理员 Job DTO、Worker 看板和相关文档。

Validation

  • Docker backend unit tests: 293 passed
  • Targeted Job/worker/migration tests: 55 passed
  • Frontend Vitest: 7 files, 94 passed
  • Mock E2E: 3 passed
  • TypeScript check and Vite build passed
  • Migration head and git diff checks passed

Semantics

本次取消是业务层即时取消和 LangGraph invocation 协作式撤销,不保证物理终止已经发出的 LLM、MCP 或 RAG 调用。

cleanup 完成后记录 worker_confirmed;失联租约回收只记录 lease_expired,不代表远端调用已经物理停止。

@Heyflyingpig Heyflyingpig self-assigned this Aug 15, 2026
@Heyflyingpig
Heyflyingpig merged commit 61f5aca into develop Aug 15, 2026
3 checks passed
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.

1 participant