在rals中将rake任务迁移到Lambda

问题描述 投票:0回答:1

我们在AWS中使用rails和rake任务。我认为将这些rake任务迁移到lambda运行而不是在rails服务器上运行是有意义的。如果我们开始利用自动扩展,我不希望在rake任务发送cpu使用情况时最终调整更多实例。有什么想法或方法吗?

amazon-web-services ruby-on-rails-3 aws-lambda rake
1个回答
0
投票

首先,目前AWS Lambda本身不支持Ruby on Rails。但是,您仍然可以通过为Lambda环境构建相关的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任务后停止它。
© www.soinside.com 2019 - 2024. All rights reserved.