微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Step Function 中的指数等待时间

如何解决AWS Step Function 中的指数等待时间

目前,AWS 中的等待状态只能等待定义的设定时间。

假设我的 step 函数使用 API 检查状态,如果状态更新,它将继续前进,否则它将再次等待一段时间!

我想让这个等待期动态化

即(退避率设置为2)

第一次重试:等待 3600 秒

第二次重试:等待 7200s (3600x2)

第三次重试:等待 14400s (7200x2)

等等。

有没有什么办法可以在不使用任何其他外部计算资源(例如 lambda)的情况下做到这一点

解决方法

我无法为此找到内置工具 所以 我在库中创建了一个自定义逻辑

图书馆有两部分

  • 包含 lambda/计算服务的 CDK 模板
  • 包含 exp 等待逻辑代码的服务代码

我用来解决这个问题的方法是 当请求进入 step 函数时,我会附加一个带有等待时间参数的对象

lambda 使用这些参数来计算动态等待时间并使用新的等待时间值更新 json 路径

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。