#...
class Router
def call(env)
#Thread.abort_on_exception=true
#Thread.new do
response = [ 404, {'Content-Type' => 'text/plain'}, ['404 file not found'] ]
start = Controller_.new
if env['REQUEST_PATH'].match(%r{^/auth$}) then response = start.auth(env) end
if env['REQUEST_PATH'].match(%r{^/lp$}) then response = start.lp(env) end
#env['async.callback'].call response
response
#end
#AsyncResponse
end
end
run Router.new()
#...
Если раскомментировать Thread-ы Все печально, запрос отрабатывается ~ 800-950ms
laptop beerdy # gem list
...
thin (1.6.2)
...
laptop beerdy # eselect ruby list
Available Ruby profiles:
[1] ruby19 (with Rubygems) *
[2] ruby20 (with Rubygems)
beerdy@laptop ~ $ thin --help | grep thread
--threaded Call the Rack application in threads [experimental]
В чем его эксперементальность? И чем грозит на продакшене?
ЗЫ Инетом походу не умею пользоваться - ничего не нашел как всегда)