我有一个很大程度上依赖于后台处理的应用程序,出于性能原因,我希望将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
答案 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