amazon-web-services - 如何简化 Step Functions 的复杂并行分支相互依赖关系

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

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

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

enter image description here

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

enter image description here

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

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

  • enter image description here

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

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

    这是一个 url如果需要,可以在 draw.io 上使用这些图表。

    最佳答案

    基本上你问的是一个 DAG而亚马逊状态语言是基于状态机的。所以我认为没有办法解决你的问题。

    关于amazon-web-services - 如何简化 Step Functions 的复杂并行分支相互依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57221589/

    相关文章:

    amazon-web-services - Cloudformation 模板给出 " Non-Windows instances with a virtualization type of ' hvm' 目前不支持此实例类型

    json - 我收到 terraform ecs 错误

    jquery - 如何使所有 AJAX 调用顺序进行?

    Python:并行 numpy memmap

    amazon-web-services - AWS : Passing Job parameters Value to Glue job from Step function

    php - 在 laravel 5.1 中插入时锁定表

    amazon-web-services - AWS : SNS sending SMS message to multiple phone numbers

    parallel-processing - 什么是 _kmp_fork_barrier 以及如何查看是否存在负载不平衡?

    amazon-web-services - AWS 步进函数 mapState 迭代大型有效负载

    amazon-web-services - 如何设置 Step 函数的 Headers.$ 输入来调用 api 网关?