小编Inq*_*ind的帖子

如何简化 Step Functions 的复杂并行分支相互依赖性

我的任务是将依赖节点列表转换为 AWS Step Functions。AWS Step Function 定义允许并行分支甚至分支嵌套到多级深度。不幸的是,它不支持分支中任务之间的依赖关系,因此强制您在两个结果可用于步骤函数中的后续任务之前完成并行步骤。

在我的图表中,Step Functions 可以轻松支持如图 1 所示的简单并行分支。

在此处输入图片说明

当涉及到图 2,尤其是图 3 时,它就成了一个问题。

在此处输入图片说明

作为一种简单的方法,我们可以引入额外的节点来为其依赖节点收集结果,如图 2b 和 3b 所示,但这现在引入了以前不存在的依赖关系:

  • 在图 2b 中,引入了这些新的依赖项:
    • E -> A,F -> A
  • 在图 3b 中,引入了这些新的依赖项:
    • E -> A、F -> A、F-> B、C -> E

在此处输入图片说明

这是一个问题,因为在手动审批任务的情况下,这些任务的时间可能是几小时到几天。这将导致后面的步骤被它们不依赖的任务不必要地延迟。

有关如何解决此问题的任何建议?也许我可以采取不同的方法?也许我可以应用一些花哨的图论算法?我什至不知道用什么词来解释图论中的这个问题。

如果需要,这里有一个在 draw.io 上使用这些图表的网址

parallel-processing amazon-web-services aws-step-functions

8
推荐指数
1
解决办法
440
查看次数