冗长的Rails / MySQL查询

时间:2013-01-15 20:54:23

标签: mysql ruby-on-rails-3 activerecord resque

我有一个查询是一个相当大的MySQL用户表,需要一段时间才能运行。它目前是Resque后台工作的一部分。我被要求可能让它与我们的MySQL奴隶数据库相比而不是生产,因为它会阻止作业减慢可能在生产中注册的用户。我想知道这是否有意义,如果是这样我将如何切换我在特定类中查询的数据库?

到目前为止,我的猜测是我会将以下内容添加到我的Resque工作类中。我的另一个问题是,它是否只适用于该特定类别,或者它是否会潜在地干扰其他工作并将它们指向错误的位置?

class ResqueJob
 @queue = :resque_job

 def self.perform(id)
   ActiveRecord::Base.establish_connection("slave_database")
   users = User.all (for example)
 end
end

1 个答案:

答案 0 :(得分:0)

我相信你应该使用Octopus。另请阅读我的小型演示项目:Octopus Replication Example