0

我有一个项目清单。此列表的长度未知。我想使用循环对每个项目执行一些相当繁重的处理。我想知道是否可以使用状态机来做到这一点。更具体地说,我可以让机器的一个步骤执行循环并启动每个项目的下一步实例吗?如果不是,你会建议什么?目标是尽可能保持无服务器。

PS我知道我可以使用步进函数进行迭代,但是状态机会在几分钟后超时,如果处理是串行完成的,恐怕没有足够的时间来处理所有项目。

4

2 回答 2

1

通过“无服务器”,我希望你的意思不是每天(或定期)手动启动和终止实例。

选项1:将项目放入AWS SQS,启动一个实例,该实例将逐个处理项目并在所有项目完成后终止。这里可以自动将项目添加到 SQS 并启动实例,具体取决于项目列表的来源/来源的触发点。

选项 2:AWS Batch,如果适用于您的用例,它可以并行处理所有项目。

根据触发点,将需要其他组件,例如,如果您想每 6 小时从 URL 获取项目列表(如提要),然后添加一个 cloudwatch 计划事件,该事件触发一个 lambda 函数,该函数下载项目并使用选项 1 或 2。

于 2017-05-23T05:07:40.447 回答
-2

如果您可以进行并行处理,那么只有 Lambda 会有所帮助。此外,AWS Lambda 只会执行到 5 分钟。所以记住这一点 !

如需更多信息,请访问此处

如果您有其他疑问,请告诉我。

于 2017-05-23T04:56:57.243 回答