1

Heroku マニュアルに基づいて puma Web サーバーをセットアップしました: Deploying Rails Applications with the Puma Web Server

config/puma.rb:

workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 2)
threads threads_count, threads_count

preload_app!

rackup      DefaultRackup
port        ENV['PORT']     || 3000
environment ENV['RACK_ENV'] || 'development'

on_worker_boot do
  ActiveRecord::Base.establish_connection
end

Procfile内容:

web: bundle exec puma -C config/puma.rb

ここsleep 10で、応答を遅らせるアクションにアクセスしてから他のアクションにアクセスしようとすると、Puma がこれら 2 つのリクエストを同時に処理することがわかりました (2 つのワーカーがあるため)。ただし、代わりに、スリープ状態の最初のリクエストが完了するのを待ってから、2 番目のリクエストに進みます。何か不足していますか?

私のセットアップは次のとおりです。

  • ルビー 2.2.4

  • レール 4.2.0

編集:

わかりました。Heroku で動作することがわかりました。質問は、開発モードで動作しないのはなぜですか?

4

1 に答える 1