文件名称:dag-incubator:有向无环图
文件大小:13KB
文件格式:ZIP
更新时间:2024-06-13 12:30:58
PHP
hyperf/dag-incubator 是一个轻量级有向无环图 (Directed Acyclic Graph) 任务编排库。 场景 假设我们有一系列任务需要执行。 如果他们之间存在依赖关系,则可以将他们顺序执行。 如果他们并不相互依赖,那么我们可以选择并发执行,以加快执行速度。 两者间还存在中间状态:一部分任务存在依赖关系,而另一些任务又可以并发执行。 我们可以将第三种复杂的场景抽象成 DAG 来解决。 示例 假设我们有一系列任务,拓扑结构如上图所示,顶点代表任务,边缘代表依赖关系。(A完成后才能完成B、C、D,B完成后才能完成H、E、F...) 通过 hyperf/dag-incubator 可以使用如下方式构建 DAG 并执行。 <?php $dag = new \Hyperf\Dag\Dag(); $a = \Hyperf\Dag\Vertex::make(function()
【文件预览】:
dag-incubator-master
----.gitignore(36B)
----README.md(11KB)
----.github()
--------workflows()
----tests()
--------Cases()
--------bootstrap.php(304B)
----phpunit.xml(493B)
----composer.json(1KB)
----.php_cs(2KB)
----src()
--------Dag.php(4KB)
--------Exception()
--------Runner.php(309B)
--------Vertex.php(1KB)
----example()
--------example.php(2KB)