Heroku在亚马逊上推出背景项目



我在Heroku上有一个Rails应用程序,我想用delayed_job、sidekiq或其他类似的服务生成一个后台进程。我不想为一个工人支付dyno的费用,并且听说在亚马逊上运行这个过程相对便宜。我说的不是一个安排在特定时间的后台进程——我希望某个进程在用户在我的网站上做某事时执行。亚马逊EC2是正确的工具吗?或者有不同的亚马逊工具吗?对于任何合适的工具,我如何才能正确地从Rails中派生它?

最简单的就是支付Heroku。

只要您能够自如地管理部署和配置环境,AW就是一个很好的方法。这"相对"容易,但我不会说这很容易,除非你有在生产中部署和管理rails应用程序的经验。你还必须担心主机正在运行、每个主机有多少工作人员、内存、硬件故障等。大多数人首先使用Heroku来避免这种工作。也就是说:

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

2) 对于延迟作业,您需要能够读取/写入同一个数据库。这也应该是非常直接的。

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

最新更新