2016-08-06 2 views
0

私はピューマのWebサーバーHerokuのマニュアルに基づいて設定している: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を持っているアクションにアクセスしようとしますが、これは応答を遅らせ、次にいくつかの他のアクションにアクセスしようとします。私は2人の従業員を持っているので、プーマはこれらの2つの要求を同時に処理するだろうということでした。しかし、代わりに、最初のリクエストが完了するのを待ってから、2番目のリクエストに進みます。何か不足していますか?

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

  • ルビー2.2.4

  • のRails 4.2.0

EDIT:[OK]を、ので、私がいることが分かった

Heroku上で、それは動作するので、質問は、なぜそれがdevelopmeで動作しませんNTモード?

+0

開発中にサーバーをどのように実行していますか? – quinn

答えて

1

rails s Procfileを使用していない、あなたは職長のようなツールを使用して見てみたいことは:https://github.com/ddollar/foreman

更新:レールの開発設定に

config.allow_concurrency = true:これは溶液でした。

+0

Pumaがサーバーの起動時にログで見たことから、私が設定した設定でPumaが起動したように見えるので、それは奇妙です。 –

+0

私はForemanでサーバーを起動しても、これはまだ動作しません。 –

+1

@MartinSvobodaあなたの 'config/development.rb'で' config.allow_concurrency = true'を試してください – quinn

関連する問題