首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >阶梯函数:等待--它能持续多久?

阶梯函数:等待--它能持续多久?
EN

Stack Overflow用户
提问于 2019-01-19 04:38:55
回答 2查看 3.8K关注 0票数 2

我在AWS文档中找不到任何我想要的答案。

是否有可能执行100,000 (大约)步进函数,并且状态一直等待到3个月?等待状态每30分钟检查一次,否则2个月后退出状态。

等待状态将执行lambda函数-它将检查字段(dynamodb)在进入下一个状态之前是否具有匹配条件。

我想知道有没有什么限制?

如果等待状态不是很好的方法,那么还有什么替代方法呢?

EN

回答 2

Stack Overflow用户

发布于 2019-01-19 05:56:08

是的,您的状态机(SM)的Wait状态可以等待长达1年。但是,您打算运行两个月的SMs数量将是一个非常昂贵的解决方案。

您打算运行100,000个SMs,每个SM的等待状态将在每30分钟后执行一个lambda。有可能所有100,000个SMs都运行了两个月。

假设所有短信都运行了2个月,则总交易数为:

每天1个SM = 96个事务(等待Lambda、Lambda等待)。每SM 5760 transactions in 2 months

代码语言:javascript
运行
复制
100,000 SM = 5760 * 100,000 = 576000000 transactions

First 4000 transactions are free so total transactions = 576000000 - 4000 = 575996000

前4,000美元后每笔交易$0.000025:

代码语言:javascript
运行
复制
575996000 * 0.000025 = $14399.9 in two months.

0.000025美元是cheapest,根据你所在的地区可能会更高。

此外,每个SM执行历史记录都有命中limit of 25,000的风险。

我建议每隔30分钟使用CloudWatch schedule event to run a Lambda验证DynamoDB表中的字段,或者使用DynamoDB streams触发Lambda进行字段验证。一旦状态匹配,您就可以执行SMs。这两种方法都比单步函数便宜。

票数 5
EN

Stack Overflow用户

发布于 2019-01-19 04:41:20

根据亚马逊网络服务标准的Executions can exist for up to 1 year。每个账号的最大执行次数为100万次。

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

https://stackoverflow.com/questions/54261137

复制
相关文章

相似问题

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