Sinatra アプリで簡単なテストを行いました。長いハンドラーを呼び出すと、ダミーのリクエストがブロックされます。
get '/test/long' do
sleep 10
"finished"
end
get '/test/dummy' do
"dummy"
end
次のコマンドを使用してサーバーを起動しました。
bundle exec rackup -s thin
Is Sinatra multi threaded?によると 、Thin はマルチスレッド Web サーバーである必要があります。ここで私の問題は何ですか?
my Gemfile:
source :rubyforge
gem 'sinatra', '1.2.6', :require => 'sinatra/base'
gem 'geokit', '1.6.0', :require => 'geokit'
gem 'json', '1.5.3'
gem 'dm-core', '1.2.0'
gem 'dm-timestamps', '1.2.0'
gem 'dm-migrations', '1.2.0'
gem 'dm-mysql-adapter', '1.2.0'
gem 'rack-cache', '1.0.1', :require => 'rack/cache'
gem 'rake', '10.0.0', :require => nil
gem 'hashie', '1.0.0'
gem 'thin'
gem 'shotgun'
gem 'rack-mobile-detect', '0.3.0', :require => 'rack/mobile-detect'
gem 'aws-ses', :require => 'aws/ses'