在Linode上使用Capistrano的延迟作业的单独工作服务器?

时间:2011-04-29 22:23:56

标签: ruby-on-rails capistrano delayed-job

我有一个很大程度上依赖于后台处理的应用程序,出于性能原因,我希望将delayed_job工作者放在单独的Linode实例上。我发现this really helpful post关于能够在不同的服务器上运行DJ工作人员而无需启动Apache,看起来我就是这样设置的。

我的问题是如何配置Capistrano将我的应用程序部署到两台服务器,只运行实际面向Web的一端,另一台用于DJ?我会做这样的事吗?

role :web, "domain.com"
role :app, "domain.com", "workers.domain.com"
role :db,  "domain.com", :primary => true

1 个答案:

答案 0 :(得分:1)

您可以为延迟作业设置单独的服务器角色,将其添加到您的食谱中:

set :delayed_job_server_role, :utility

然后,将此角色附加到您的worker(实用程序)服务器:

role :web, "domain.com"
role :app, "domain.com"
role :db,  "domain.com", :primary => true
role :utility, "workers.domain.com"

欲了解更多信息: https://github.com/collectiveidea/delayed_job/wiki/Rails-3-and-Capistrano