diff --git a/Gemfile b/Gemfile index 69d099589c96f67568099cc4fc41001169ac0d31..bdfc1c385a65ecaf7e3401c290ea67dfe5240685 100644 --- a/Gemfile +++ b/Gemfile @@ -10,7 +10,7 @@ gem "bson_ext", "1.0.1" gem "haml" gem "devise", :git => "git://github.com/plataformatec/devise.git" gem 'roxml', :git => "git://github.com/Empact/roxml.git" - +gem 'rack-fiber_pool', :require => 'rack/fiber_pool' group :test do gem 'rspec', '>= 2.0.0.beta.12' diff --git a/config.ru b/config.ru index fbe82a3fcbb292e9cc8fdd893a7e2020fd617a10..58f9e64a893bb2f14a47b1b23e13e622fc66136f 100644 --- a/config.ru +++ b/config.ru @@ -1,4 +1,5 @@ # This file is used by Rack-based servers to start the application. require ::File.expand_path('../config/environment', __FILE__) +use Rack::FiberPool run Diaspora::Application diff --git a/config/environments/development.rb b/config/environments/development.rb index dfb1f2e189dd2e0c8bf665a95584e8105c239448..45d756166aec1c9cd7d6048be4a105fa30943c54 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -16,4 +16,5 @@ Diaspora::Application.configure do # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false + config.threadsafe! end diff --git a/config/environments/production.rb b/config/environments/production.rb index e47cce459163c4b89a91238dd088525e26b3fbe8..b9b2fefe7f543ef609091120d4a770e0bb002080 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -43,4 +43,6 @@ Diaspora::Application.configure do # Enable locale fallbacks for I18n (makes lookups for any locale fall back to # the I18n.default_locale when a translation can not be found) config.i18n.fallbacks = true + config.threadsafe! + end diff --git a/config/environments/test.rb b/config/environments/test.rb index 1a913440779409a1458b181f836931578b0ccc7c..4edb0fb454a0acb64d17b1247f2c0eae4f535fff 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -24,6 +24,8 @@ Diaspora::Application.configure do # The :test delivery method accumulates sent emails in the # ActionMailer::Base.deliveries array. config.action_mailer.delivery_method = :test + config.threadsafe! + # Use SQL instead of Active Record's schema dumper when creating the test database. # This is necessary if your schema can't be completely dumped by the schema dumper, diff --git a/lib/message_handler.rb b/lib/message_handler.rb index da12fd2e8cc58c627e5272a1842dd113f397656d..7d75ce08c14f8432a1d94611778fe6d045b52c38 100644 --- a/lib/message_handler.rb +++ b/lib/message_handler.rb @@ -24,7 +24,6 @@ class MessageHandler @queue.pop{ |query| case query.type when :post - puts Addressable::URI::parse(query.destination).inspect http = EventMachine::HttpRequest.new(query.destination).post :timeout => TIMEOUT, :body =>{:xml => query.body} http.callback { process} when :get