aws step 工作流是否可以无限循环工作?
will an aws step workflow work with an infinite loop?
我正在考虑使用步进函数每 30 秒轮询一次来自外部数据库的更新和 运行 将数据存储在 s3 中的映射 lambda。
实现阶跃函数非常简单。我注意到限制设置为 运行 1 年。 http://docs.aws.amazon.com/step-functions/latest/dg/limits.html
我的问题是这项工作是否可行,或者为此目的使用步进函数是否存在缺陷。我的场景可以接受每 1000 步 0.025 的价格。
此工作流应该运行良好 - 由于状态机可以持续长达一年,AWS 几乎鼓励这种类型的工作负载。
顺便说一句,我真的很惊讶这实际上是多么低的成本:全年 3 次状态转换 运行 75 美元。
- 每年大约 500,000 分钟(如果每 30 秒计算 100 万分钟)
- 每次状态转换 0.000025 美元
- (1,000,000 * 3) * 0.000025 美元 = 75 美元
没有。步进函数执行的执行历史记录大小限制为 25,000 events。每个 Lambda 任务需要 5 个事件。所以你只能在状态机的一次执行中执行 500 个状态。
在您的情况下,状态机的执行将在 30*5000 秒(~4 小时)后失败。您可能需要每 4 小时开始一次新的执行,以确保您的数据库同步正常工作。
如何缓解这种情况?
注意:虽然这个问题很老,但为了以后的读者的利益,我正在回答这个问题。
我正在考虑使用步进函数每 30 秒轮询一次来自外部数据库的更新和 运行 将数据存储在 s3 中的映射 lambda。
实现阶跃函数非常简单。我注意到限制设置为 运行 1 年。 http://docs.aws.amazon.com/step-functions/latest/dg/limits.html
我的问题是这项工作是否可行,或者为此目的使用步进函数是否存在缺陷。我的场景可以接受每 1000 步 0.025 的价格。
此工作流应该运行良好 - 由于状态机可以持续长达一年,AWS 几乎鼓励这种类型的工作负载。
顺便说一句,我真的很惊讶这实际上是多么低的成本:全年 3 次状态转换 运行 75 美元。
- 每年大约 500,000 分钟(如果每 30 秒计算 100 万分钟)
- 每次状态转换 0.000025 美元
- (1,000,000 * 3) * 0.000025 美元 = 75 美元
没有。步进函数执行的执行历史记录大小限制为 25,000 events。每个 Lambda 任务需要 5 个事件。所以你只能在状态机的一次执行中执行 500 个状态。
在您的情况下,状态机的执行将在 30*5000 秒(~4 小时)后失败。您可能需要每 4 小时开始一次新的执行,以确保您的数据库同步正常工作。
如何缓解这种情况?
注意:虽然这个问题很老,但为了以后的读者的利益,我正在回答这个问题。