【问题标题】:Separate Worker Server for Delayed Job Using Capistrano on Linode?在 Linode 上使用 Capistrano 为延迟作业分离工作服务器?
【发布时间】:2011-08-15 19:56:17
【问题描述】:

我有一个严重依赖后台处理的应用程序,出于性能原因,我希望将延迟作业工作人员放在单独的 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

【问题讨论】:

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


【解决方案1】:

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

set :delayed_job_server_role, :utility

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

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

【讨论】:

    最近更新 更多