2013-10-14 48 views
0

我正在尝试将基本的'hello world'jruby sinatra应用程序与sinatra-synchrony进行整合并且一直运行错误。在sinatra-synchrony上运行jruby上运行sinatra时出现NoMethodError

app.rb:

require 'sinatra/synchrony' 

class App < Sinatra::Base 
    register Sinatra::Synchrony 

    get '/' do 
    'Hello world!' 
    end 
end 

config.ru:

require 'sinatra' 
require 'app.rb' 

run App 

我已经尝试了一些不同的Web服务器上运行这一点,并获得不同的错误使用线程或内存泄漏的事情。

+2

Synchrony是Eventmachine特定的。你真的尝试用JRuby使用Eventmachine吗? – tbuehlmann

回答

0

用于Ruby的Synchrony库的设计围绕在事件循环中使用Fibre a Eventmachine。对于这种特殊情况,您应该考虑使用MRI和Goliath.io作为您的机架服务器。

但是,Jruby正在飞速发展。过去几个月我一直在使用它,并完全避免了事件循环范式。尝试从示例中删除Synchrony库并使用puma.io运行它。

请记住,JVM需要一点时间来“热身”。打几千次来优化速度。

相关问题