在多个服务器上管理不同的resque队列

Ram*_*Vel 2 ruby ruby-on-rails resque redis

我目前正在使用Resque来处理我的应用程序中的后台作业.现在我有5个不同的队列(它会变得非常快).他们每个人都在做更新Solr索引,实时通知,预定时事通讯,延迟电子邮件和短信等工作.目前我正在使用Resque作为rails gem并从rails环境运行Resque.

现在我计划将Solr索引更新任务和预定的新闻简报移动到不同的服务器,因为这两个执行繁重的操作.一种方法是将rails目录复制到新服务器,并从rails环境运行Resque作业.但我这样做并不舒服.

另一个是为resque任务创建一个单独的rake应用程序.但问题是,这两项任务都与rails模型和rails模板密切相关.我完全不确定如何继续下一步.

有没有人遇到类似的问题,以及你如何构建应用程序?

nir*_*rum 6

我们使用橡胶配置我们的服务器并进行部署.它是Capistrano的插件,可以进行基于角色的部署.其中一个角色是"resque_worker",任何具有该角色的计算机都将启动resque-pool以开始处理工作.

但是你可以更简单地做到这一点.只需将应用程序部署到两台不同的计算机 Resque旨在允许不同机器上的工作人员.只要你的第二台机器可以访问你的redis服务器,一切都会正常工作.