我们在AWS中使用rails和rake任务。我认为将这些rake任务迁移到lambda运行而不是在rails服务器上运行是有意义的。 如果我们开始利用自动扩展,我不希望在rake任务发送cpu使用情况时最终调整更多实例。有什么想法或方法吗?
答案 0 :(得分: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执行的最长时间限制。
除此之外,您也可以考虑以下方法。