我使用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'