0

我在 Heroku 上有一个 Rails 应用程序,我想使用 delay_job 、 sidekiq 或其他类似服务生成一个后台进程。我不想为工人测功机付费,并且听说在亚马逊上运行这个过程相对便宜。我不是在谈论安排在特定时间的后台进程 - 我希望在用户在我的网站上执行某些操作时执行某个进程。Amazon EC2 会是正确的工具吗,还是有不同的 Amazon 工具?对于任何合适的工具,我怎样才能正确地从 Rails 生成它?

4

1 回答 1

0

最简单的就是支付 Heroku。

只要您能够轻松管理部署和配置环境,AWS 就是一个不错的选择。它“相对”容易,但我不会说这很容易,除非您有一些在生产中部署和管理 Rails 应用程序的经验。您还必须担心主机启动、每台主机有多少工作人员、内存、硬件故障等。大多数人首先使用 Heroku 来避免这种工作。那说:

1)对于resque,你只需要连接到同一个Redis集群。AWS 上的工作人员将看到由您的 heroku 应用程序创建的作业队列

2)对于延迟作业,您需要能够读取/写入同一个数据库。这也应该很简单。

这里最大的风险是你需要小心同步你的代码。你真的不想在你的 webapp 上运行一个版本的代码,而在你的工作人员中运行另一个版本。您需要非常小心地仅通过 id 传递引用(注意延迟作业将您的对象序列化为工作人员无法反序列化的东西)。

于 2013-07-24T16:32:03.197 回答