首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AWS阶跃函数调用动态并行步骤函数

AWS阶跃函数调用动态并行步骤函数
EN

Stack Overflow用户
提问于 2020-05-19 04:37:40
回答 1查看 1.3K关注 0票数 0

我正在使用step函数工作流来解决一个问题。

问题是这样的,我有10个AWS批处理作业。

前3个作业按顺序运行,4-7作业是动态步骤,也就是说,它们需要以指定的不同参数多次运行。

对于每一个4-5-6-7工作流,根据参数的数量执行8-9-10个作业。

看起来地图在这里是最合适的,但是如果任何任务在映射状态4-5-6-7中失败,整个步骤就会失败。我不想一次执行另一次执行。

方法:我设计了三步函数。第一步函数运行1-3个作业,最后一步调用lambda函数,它提交4-5-6-7作业的多次执行。每执行4-5-6-7次执行,就会触发另一个lambda提交8-9-10个作业的多次执行。

我正在通过lambda函数手动连接step函数。

这是正确的方法,还是有更好的方法去做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-20 13:54:35

我建议多几个元素,让你的解决方案更好地做好生产准备。

首先,我建议您消除Lambda函数调用,并对嵌套工作流使用"Run“(.sync:2) 服务集成。我昨天刚做了一个抽搐事件

第二,如果要在Map中执行失败后继续执行,请确保正在实现Catcher(以及可选的检索器)。上星期二我做了一个抽搐事件,上面链接的第一个视频中有一些关于错误处理的讨论。

所以对于你的具体情况,我建议你:

  1. 首先,将8-9-10个步骤变成一个独立的工作流( A)
  2. 通过地图状态内的“运行作业”服务集成从步骤4-5-6-7调用子A
  3. 将步骤4-5-6-7迁移到独立的工作流中(子B)
  4. 再次通过“运行作业”服务集成从父工作流调用子B(步骤1-2-3)

有关Step函数和Lambda函数中并行性的更多信息,请参见这个抽搐事件

以上所有内容的代码示例都可以在这是GitHub上的回购中获得。

我是代表我的雇主亚马逊( Amazon )捐款的。我的贡献是根据麻省理工学院的许可授权的。有关更详细的解释,请参见这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61883350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档