我已经建模了作业,它在 sql 表中的依赖关系:作业(id、detail、exit_code)依赖关系(job_id、dependenet_job_id)
例如:如果作业 1 依赖于 2 和 3,则表将具有以下内容:
作业
1 "job1" NULL
2 "job2" NULL
3 "job3" NULL
4 "job4" NULL
依赖项
1 2
1 3
现在我需要找到接下来可以运行的工作。在上述情况下,可以运行 2,3 和 4,因为它们没有任何依赖关系。只有当 2 和 3 成功完成(退出代码 = 0)时,1 才能运行。
这些表可以有数百个作业和多级依赖关系。我有查询使用左外连接获得没有依赖关系的工作。但是无法找到已成功完成依赖项的作业。
谢谢。