【问题标题】:Migrating rake tasks to Lambda in AWS将 rake 任务迁移到 AWS 中的 Lambda
【发布时间】:2018-04-11 23:51:21
【问题描述】:

我们在 AWS 中将 rails 用于 rake 任务。我认为迁移这些 rake 任务以在 lambda 中运行而不是在 rails 服务器上运行它是有意义的。 如果我们开始利用自动缩放,如果 rake 任务导致 CPU 使用率上升,我不希望最终启动更多实例。对此有何想法或方法?

【问题讨论】:

    标签: amazon-web-services ruby-on-rails-3 aws-lambda rake


    【解决方案1】:

    首先,目前 AWS Lambda 本身并不支持 Ruby on Rails。但是,您仍然可以通过为 Lambda 环境构建相关的 Ruby 可执行文件并将它们包含在您的代码中来准备相关的 Ruby 可执行文件,从而使用 Ruby on Rails。

    有关执行此操作的更多详细信息,请参阅Scripting Languages for AWS Lambda: Running PHP, Ruby, and Go

    另一方面,我在使用 Lambda 时看到的好处是执行成本需要按秒支付(请记住,由于您需要在 Lambda 中包含 Ruby 可执行文件,它会增加函数的加载时间运行 rake 任务时会增加 Lambda 成本)。此外,您必须确保您的 rake 任务将在 5 分钟内运行,这是单次 Lambda 执行的最长时间限制。

    除此之外,您还可以考虑以下方法。

    • 将 AWS Fargate 与 Docker 容器结合使用。
    • 使用 AWS Lambda 函数启动 EC2 实例,并在 Rake 任务完成后停止它。

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 2011-02-07
      • 2011-12-01
      • 2021-01-06
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 2021-11-26
      • 2015-10-05
      相关资源
      最近更新 更多