Skip to content

[BUG][OPT-25] 调度管理器注册应与 shutdown 原子互斥 #216

Open

Description

@Aias00

总览:#180

代码依据

问题与验收

registerTask 在获取写锁前检查 shutdown,之后才加锁写入 activeTasks;shutdown 在同一写锁下清空任务并关闭 scheduler。可能出现注册线程先检查通过、shutdown 完成、注册线程再向已关闭 manager 写入的交错。

范围与验收

  • 构造可控交错验证 shutdown 完成后无新任务进入 activeTasks;不能只重复跑概率性压力测试。
  • 在同一同步边界内完成运行状态检查与注册;关闭开始后明确拒绝或按已定义准入规则处理。
  • 并发注册/注销/shutdown 保持幂等,无遗留记录、死锁或持锁回调造成的不可控阻塞。
  • 验证 close 期间任务 stop 回调和 manager 注销的重入路径,不能简单换锁而引入死锁。
  • 保持自定义 ScheduledAgentManager 契约和既有任务清理,明确拒绝异常及消费者影响。
  • 与 OPT-23/24 协调局部生命周期修复;不重复 [P1B][T10] 增加整 Run 持久化执行器与租约作用域接入 #124 持久化执行或 Extensions chore(deps): bump io.modelcontextprotocol.sdk:mcp-bom from 2.0.0 to 2.0.1 #16 调度去重。

现有 singleton 的可重用/重建策略仅作相关约束记录,本单不扩展为全局容器重写。

验证与兼容约束

Core 基线 f45b2cf。当前为静态代码分析,尚未运行本单针对性复现。先补有意义的行为测试,优先局部修复;公共 API/输出/调度语义变化需说明收益、影响、兼容替代、迁移成本及目标版本。修复不等待 Agent/Workflow/Loop 全局重构。

关联任务

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions