【发布时间】:2013-11-29 15:40:58
【问题描述】:
当我需要在 Heroku 上设置延迟工作时,我还需要在那里购买另一个工人测功机。 它如何在 Amazon EC2 上运行?我正在使用小型 EC2 实例。
我是否需要购买更高的实例或需要什么才能在 Amazon EC2 上成功设置延迟作业?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby amazon-web-services amazon-ec2 delayed-job
当我需要在 Heroku 上设置延迟工作时,我还需要在那里购买另一个工人测功机。 它如何在 Amazon EC2 上运行?我正在使用小型 EC2 实例。
我是否需要购买更高的实例或需要什么才能在 Amazon EC2 上成功设置延迟作业?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby amazon-web-services amazon-ec2 delayed-job
在 EC2 上,您基本上是在购买基础设施,因此这基本上取决于您是否需要更高的实例所拥有的工作负载。如果您没有使当前 EC2 实例上的 CPU 饱和,您所要做的就是使用像延迟作业 (https://rubygems.org/gems/delayed_job) 或 resque (https://rubygems.org/gems/resque) 这样的 gem。 就个人而言,我不需要更高的 EC2 实例来处理延迟作业,因为它们不会占用大量资源(也是小型 EC2)。
【讨论】:
首先欢迎来到delayed_job 俱乐部。我同意前面的回答,我在一个 ec2 微实例上运行延迟作业。但是delayed_job 消耗更多内存的机会很高。我建议你有一个单独的实例来运行delayed_jobs。至少一个小实例就可以了。我正在使用 https://github.com/collectiveidea/delayed_job 版本的延迟 2 年。期间成熟了很多。与以前的版本相比相当稳定。它还提供了 Web 界面。
【讨论】:
我最近开始使用 EC2(微型实例,因为它是免费的,并且因为我需要一个暂存环境)和 ActiveRecord 的延迟作业。 EC2 就像一台具有最低配置的新机器。你需要安装所有必要的东西,比如你在本地机器上安装的 RVM、ruby、rubygems、git 等。我正在使用 mina 部署并指定在那里操作 nginx、passenger 和 delay_job。
【讨论】: