总览:https://github.com/agentic-ai-java/argi/issues/180 ## 代码依据 https://github.com/agentic-ai-java/argi/blob/f45b2cf7a2fb301744fa61ef423795f6d30b65da/argi-graph-core/src/main/java/io/github/agentic/ai/graph/scheduling/DefaultScheduledAgentManager.java#L78 ## 问题与验收 registerTask 在获取写锁前检查 shutdown,之后才加锁写入 activeTasks;shutdown 在同一写锁下清空任务并关闭 scheduler。可能出现注册线程先检查通过、shutdown 完成、注册线程再向已关闭 manager 写入的交错。 ## 范围与验收 - [ ] 构造可控交错验证 shutdown 完成后无新任务进入 activeTasks;不能只重复跑概率性压力测试。 - [ ] 在同一同步边界内完成运行状态检查与注册;关闭开始后明确拒绝或按已定义准入规则处理。 - [ ] 并发注册/注销/shutdown 保持幂等,无遗留记录、死锁或持锁回调造成的不可控阻塞。 - [ ] 验证 close 期间任务 stop 回调和 manager 注销的重入路径,不能简单换锁而引入死锁。 - [ ] 保持自定义 ScheduledAgentManager 契约和既有任务清理,明确拒绝异常及消费者影响。 - [ ] 与 OPT-23/24 协调局部生命周期修复;不重复 #124 持久化执行或 Extensions #16 调度去重。 现有 singleton 的可重用/重建策略仅作相关约束记录,本单不扩展为全局容器重写。 ## 验证与兼容约束 Core 基线 f45b2cf7a2fb301744fa61ef423795f6d30b65da。当前为静态代码分析,尚未运行本单针对性复现。先补有意义的行为测试,优先局部修复;公共 API/输出/调度语义变化需说明收益、影响、兼容替代、迁移成本及目标版本。修复不等待 Agent/Workflow/Loop 全局重构。 ## 关联任务 - https://github.com/agentic-ai-java/argi/issues/214 - https://github.com/agentic-ai-java/argi/issues/215
Activity