运行JRuby线程的依赖性问题

时间:2012-05-04 17:37:51

标签: ruby-on-rails ruby multithreading jruby jruby-rack

我使用Rails 3.0.2在JRuby 1.6.7上运行。我有一些调用REST服务的方法。

同时执行它们会很好,所以不是每个都需要2秒才能返回总计6秒。我将在大约2秒内收回数据。

我不能使用Fibers,因为以下调用使用阻塞io并且无法修改,因此我无法将它们编码为“协同工作”。我正在尝试使用抢先线程。

我在一个线程中有一个简单的调用,如下所示。

Thread.new do
  callrest1() 
end

虽然此代码在线程内执行时出现以下错误。我猜它找不到正确的文件/类,因为它在一个新的线程中?有什么想法吗?

预期/home/joe/ruby/analysis/app/models/dashboard/reports.rb定义Dashboard :: Reports Rails.root:/ home / joe / ruby​​ / analysis

Application Trace | Framework Trace | Full Trace
activesupport (3.0.5) lib/active_support/dependencies.rb:492:in `load_missing_constant'
activesupport (3.0.5) lib/active_support/dependencies.rb:183:in `const_missing'
                      org/jruby/RubyArray.java:1615:in `each'
activesupport (3.0.5) lib/active_support/dependencies.rb:181:in `const_missing'
activesupport (3.0.5) lib/active_support/dependencies.rb:503:in `load_missing_constant'
activesupport (3.0.5) lib/active_support/dependencies.rb:183:in `const_missing'
                      org/jruby/RubyArray.java:1615:in `each'
activesupport (3.0.5) lib/active_support/dependencies.rb:181:in `const_missing'
                      app/controllers/dashboard/index_controller.rb:297:in `generateReport'
                      app/controllers/dashboard/index_controller.rb:223:in `index'

0 个答案:

没有答案