问题域/PD-146

依赖图与任务调度

Dependency Graph & Task Scheduling

基于 DAG 的任务依赖管理,支持拓扑排序、循环检测和并行度分析

子问题

1.依赖关系建模

2.拓扑排序算法

3.循环依赖检测

4.并行度分析

5.外部依赖解析(跨项目依赖通过 routing 系统解析)

6.依赖图可视化(ASCII/DOT/HTML 三种格式)

7.child→parent 反模式检测(防止层级死锁)

各项目的解法1 solutions

Signals

横向对比

维度beads
依赖关系建模单表多类型(10+ 种依赖类型通过 type 字段区分)
拓扑排序算法longest path 迭代收敛(确保最优层级)
循环依赖检测SQL 递归 CTE 早期检测(添加时阻止)
并行度分析wave 分层(同层任务可并行执行)
可视化支持ASCII/DOT/HTML 三种格式(含 D3.js 交互式)
外部依赖支持external: 前缀跨项目依赖(routing 解析)

最佳实践

1.支持多种关系类型(blocks/relates_to/duplicates)

2.wave 分析计算可并行任务

3.循环依赖早期检测

4.依赖图可视化

5.SQL 递归 CTE 深度限制(防止无限递归)

6.blocked IDs 缓存(避免重复计算)

7.longest path 算法(确保最优层级分配)

8.依赖类型分离(只对 blocks 类型检测循环)