* 获取可执行的任务(没有未完成依赖的任务)
()
| 370 | * 获取可执行的任务(没有未完成依赖的任务) |
| 371 | */ |
| 372 | public getExecutableTasks(): WorkflowTask[] { |
| 373 | return Array.from(this.tasks.values()).filter(task => { |
| 374 | if (task.status !== 'todo' && task.status !== 'blocked') return false; |
| 375 | |
| 376 | // 检查依赖是否都已完成 |
| 377 | return task.dependencies.every(depId => { |
| 378 | const depTask = this.tasks.get(depId); |
| 379 | return depTask?.status === 'completed'; |
| 380 | }); |
| 381 | }); |
| 382 | } |
| 383 | |
| 384 | /** |
| 385 | * 开始任务 |
no test coverage detected