私は、webサーバとしてのpumaを持つheroku上のruby 2.2.0p0上で動作するrails app 3.2.22.2をデプロイしました。PukiをHerokuでRails 3.2.22.2とRuby 2.2で使用すると、スレッドセーフではありませんか?ポイントは?
Herokuのはピューマを愛し、それを使用する新しいアプリケーションをアドバイス:
https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server
プーマは、使用可能なCPUのより多くの利用 を作るために、ワーカープロセスに加えて、スレッドを使用しています。 コードベース全体がスレッドセーフである場合にのみ、Pumaのスレッドを利用できます。それ以外の場合は、依然としてPumaを使用することができますが、 はワーカープロセスによってのみスケールアウトする必要があります。
私の唯一のオプションは、一部の労働者を追加し、このように私のProcfileを設定することですので、私は私のレールのアプリ(実際に私のコード)を確保することができないと宝石はスレッドセーフです:
web: bundle exec puma -t 1:1 -p ${PORT:-3000} -e ${RACK_ENV:-development}
worker: bundle exec rake jobs:work
をジャスト場合には、私もよう設定VARSを設定しました:だから
=== myapp-staging Config Vars
DATABASE_URL: postgres://this:[email protected]:port/more
LANG: en_US.UTF-8
MIN_THREADS: 1
NEW_RELIC_LICENSE_KEY: key
NEW_RELIC_LOG: stdout
PAPERTRAIL_API_TOKEN: key
RACK_ENV: staging
RAILS_ENV: staging
RAILS_MAX_THREADS: 1
SENSIBLE_DEFAULTS: enabled
WEBSOLR_URL: https://index.websolr.com/solr/index
WEB_CONCURRENCY: 1
...私は1つだけのスレッドを使用することができれば、ピューマは私のアプリに最適なソリューションですか?
ありがとうございました!
PS:その質問What configuration for Rails 3.2.22.2 + Puma + Heroku?