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