【问题标题】:which aws product to use for long-running ruby tasks execution?哪个 aws 产品用于长时间运行的 ruby​​ 任务执行?
【发布时间】:2021-05-09 23:20:36
【问题描述】:

在我的应用程序中,我非常依赖 AWS。我收到了一些进入 SNS 的事件,一旦它们出现,我需要触发长时间运行的任务。这样的任务基本上是从多个 Web 服务(不是 AWS)中提取数据,对其进行协调,并将其持久性协调结果输入到数据库中。

由于请求的 Web 服务方面的数据量和请求限制,我无法使其运行时间短于几个小时。所以,我需要“一些”AWS 服务/产品,它可以让我在准备好执行的环境中实例化我的脚本,然后运行几个小时。我经常使用 lambda,但由于执行时间长,它们在这种情况下不起作用。当然,我不希望在没有执行任务时为这样的服务支付任何费用。

对于这种需要执行无服务器长时间运行任务的情况,您会推荐 AWS 的哪些产品/架构?

【问题讨论】:

    标签: amazon-web-services aws-serverless


    【解决方案1】:

    我将创建一个部署到 Fargate 的 ECS 任务。您可以让 SNS 消息触发立即启动任务的东西,可能是通过在 AWS Step Functions 中构建工作流,或者只是让 SNS 触发一个 Lambda,然后创建 ECS 任务,或者您可以将其从 SNS 推送到 SQS 队列并在 ECS 中定义了一项服务,该服务会根据队列中等待的消息数量自动扩展。

    AWS Batch 可能非常适合这一点。它将为您管理 Fargate 部署,甚至帮助您利用现场请求来节省资金。

    【讨论】:

      猜你喜欢
      • 2021-10-15
      • 2020-03-10
      • 2021-02-11
      • 1970-01-01
      • 1970-01-01
      • 2013-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多