diff --git a/Gemfile b/Gemfile index 39c3a065c..b50afda13 100644 --- a/Gemfile +++ b/Gemfile @@ -18,6 +18,7 @@ gem 'puma' gem 'rack', '1.6.4' # Remove in rails 5 gem 'rack-cors', :require => 'rack/cors' gem 'grape-middleware-lograge' +gem "rack-timeout" gem 'grape-swagger' gem 'kaminari' diff --git a/Gemfile.lock b/Gemfile.lock index bb2d057e7..2f23438dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -218,6 +218,7 @@ GEM rack rack-test (0.6.3) rack (>= 1.0) + rack-timeout (0.4.2) rails (4.2.1) actionmailer (= 4.2.1) actionpack (= 4.2.1) @@ -342,6 +343,7 @@ DEPENDENCIES pundit rack (= 1.6.4) rack-cors + rack-timeout rails (= 4.2.1) rails_12factor rspec-rails diff --git a/config/initializers/rack_timeout.rb b/config/initializers/rack_timeout.rb new file mode 100644 index 000000000..16ca7b14f --- /dev/null +++ b/config/initializers/rack_timeout.rb @@ -0,0 +1,4 @@ +Rack::Timeout.service_timeout = Integer(ENV['RACK_TIMEOUT_SERVICE_TIMEOUT']) if ENV.has_key?('RACK_TIMEOUT_SERVICE_TIMEOUT') +Rack::Timeout.wait_timeout = Integer(ENV['RACK_TIMEOUT_WAIT_TIMEOUT']) if ENV.has_key?('RACK_TIMEOUT_WAIT_TIMEOUT') +Rack::Timeout.wait_overtime = Integer(ENV['RACK_TIMEOUT_WAIT_OVERTIME']) if ENV.has_key?('RACK_TIMEOUT_WAIT_OVERTIME') +Rack::Timeout.service_past_wait = (ENV['RACK_TIMEOUT_SERVICE_PAST_WAIT'] == 'true') diff --git a/config/puma.rb b/config/puma.rb index 77794c1b7..43a5a7257 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -1,7 +1,6 @@ workers Integer(ENV['WEB_CONCURRENCY'] || 2) threads_count = Integer(ENV['MAX_THREADS'] || 5) threads threads_count, threads_count -worker_timeout Integer(ENV['WORKER_TIMEOUT']) if ENV['WORKER_TIMEOUT'] preload_app!