如何在Tomcat上使用Rack :: FiberPool和EventMachine for JRuby / Rails应用程序?

时间:2012-08-29 21:07:22

标签: ruby-on-rails tomcat jruby eventmachine fibers

我有一个使用Rack::FiberPoolEventMachine的JRuby / Rails应用。我有一些基于事件的动作控制器:

class TwitterController < ApllicationController
  def tweets
    fiber = Fiber.current
    tweets = nil 

    EventMachine.next_tick do  
      http = EM::HttpRequest.new("http://search.twitter.com/search?q=rails+3&format=json").get
      http.callback do
        tweets = JSON.parse(http.response)
        fiber.resume
      end

      http.errback do
        puts "request failed"
        fiber.resume
      end     
    end

    Fiber.yield

    render :json => tweets
  end
end

当我使用瘦服务器手动运行时,它工作正常:

rails s thin

但是当我部署到Tomcat时它不起作用。无论如何在Tomcat中使用EventMachine?

感谢。

0 个答案:

没有答案