【发布时间】:2021-01-27 05:22:22
【问题描述】:
我有一个具有并行状态的阶梯函数,它有四个分支(A、B、C、D),每个分支都有 3 个 Glue StartJobRun 任务状态。如果分支 A 在第一个任务期间失败,我如何确保其他分支只要成功就继续执行任务?
【问题讨论】:
标签: amazon-web-services boto3 aws-step-functions
我有一个具有并行状态的阶梯函数,它有四个分支(A、B、C、D),每个分支都有 3 个 Glue StartJobRun 任务状态。如果分支 A 在第一个任务期间失败,我如何确保其他分支只要成功就继续执行任务?
【问题讨论】:
标签: amazon-web-services boto3 aws-step-functions
正如您在 AWS Step Functions 中提到的,如果一个分支出现故障,其他分支将立即终止并且其结果将被忽略。 Step Functions 将尽最大努力取消任何正在进行的 .sync 任务,并停止在任何分支上执行任何进一步的状态。 如果你想让那些其他分支继续完成,你必须防止任何分支失败。您可以在每个状态上使用 Catch 块并转换为 Succeed(即使它实际上是失败的)。然后,在 Parallel 完成后,添加一个新状态来进行错误处理,以检查哪些分支成功或失败。
【讨论】: