LINUX.ORG.RU

Thin и его thread


0

3
#...
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]
Все замечательно! Время ~ 6-7ms Ноут на i3-ем

В чем его эксперементальность? И чем грозит на продакшене?

ЗЫ Инетом походу не умею пользоваться - ничего не нашел как всегда)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.