0

我有一个查询正在访问一个相当大的 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
4

1 回答 1

0

我相信你应该使用Octopus。还可以在这里阅读我的小型演示项目:Octopus Replication Example

于 2013-01-15T21:33:08.873 回答