使用Sidekiq和模块命名模式时的循环依赖性问题

时间:2014-03-31 17:07:13

标签: ruby-on-rails ruby autoload sidekiq

早上好,我们在使用Sidekiq处理队列时遇到了烦人的问题。问题似乎发生在我们第一次执行Sidekiq(急切加载资源)和生产环境时。

基本上我们在模块中分隔我们的类以具有更好的命名模式。

这是发生问题的示例模块

module MyApp
  module APIIntegration
    class Client          
       def driver
         @driver ||= MyApp::APIIntegration::Driver.new
       end  
    end
  end
end 

我们正在获取"在自动加载常量MyApp :: APIIntegration :: Driver"

知道为什么会这样吗?我们应该通过调用Driver而不是完全限定名称来引用驱动程序吗?我可以尝试重现这个问题吗?

欢迎提出任何建议,非常感谢

1 个答案:

答案 0 :(得分:2)

应该是这样的

module MyApp
  module APIIntegration
    class Client          
       def driver
         @driver ||= Driver.new
       end  
    end
  end
end