首页 > 解决方案 > 具有进度和取消的长时间运行的 AWS Lambda 任务

问题描述

我有一个应用程序,我希望将计算负载卸载到 AWS,并且正在获得一些架构指导。用户将启动一个主任务,其中包含约 100 个可以并行运行的计算量大的子任务。

我认为一个合适的解决方案是让桌面应用程序访问 API 网关端点以创建一个新任务,然后该任务将调用许多 Lambda,每个子任务一个。我希望每个子任务都有单独的进度报告,以及用户取消整个任务的能力。用户还可以使用 API 来查询创建的任务/点击另一个端点来取消它。

调用和管理这些 Lambda 子任务、访问每个 Lambda 的中间进度信息、最终结果并允许用户请求取消的适当架构/服务是什么?

标签: amazon-web-servicesarchitectureaws-lambda

解决方案


您可能对 AWS Step Functions ( https://aws.amazon.com/step-functions/ ) 感兴趣,用于查询和编排整体进度,并可能使用 DynamoDB ( https://aws.amazon.com/dynamodb / ) 或其他一些数据存储,以允许监视各个子任务中的进度。


推荐阅读