我试图将一个基本的'hello world‘jruby sinatra应用程序与sinatra-synchrony集成在一起,但总是出错。
app.rb:
require 'sinatra/synchrony'
class App < Sinatra::Base
register Sinatra::Synchrony
get '/' do
'Hello world!'
end
endconfig.ru:
require 'sinatra'
require 'app.rb'
run App我试着在几个不同的web服务器上运行它,得到了与线程或内存泄漏有关的不同错误。
发布于 2013-10-22 05:59:24
Ruby的同步库是围绕着在事件循环中使用Fibers而设计的,就像Eventmachine一样。对于这种特殊情况,您应该考虑使用MRI和Goliath.io作为机架式服务器。
然而,Jruby正在突飞猛进地发展。我在过去的几个月里一直在使用它,并且完全避免了事件循环范例。尝试从示例中删除同步库,并使用puma.io运行它。
请记住,JVM需要一点时间才能“预热”。点击几千次来优化速度。
https://stackoverflow.com/questions/19367039
复制相似问题