我正在尝试将基本的'hello world'jruby sinatra应用程序与sinatra-synchrony集成并继续遇到错误。
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服务器上运行它,并获得与线程或内存泄漏有关的各种错误。
答案 0 :(得分:0)
Ruby的Synchrony库是在事件循环和事件机器中使用Fibers而设计的。对于这种特殊情况,您应该考虑使用MRI和Goliath.io作为您的机架服务器。
然而,Jruby正在实现跨越式发展。我最近几个月一直在使用它,完全避免了事件循环范式。尝试从示例中删除Synchrony库并使用puma.io运行它。
请记住,JVM需要一些“热身”。点击几千次来优化速度。