75487


Railsにおいて、  
どういった変更の場合、実行中のアプリケーションに反映するために、Pumaサーバを再起動する必要があるのか  
を教えてください。

例えば、  
slim(html)ファイルは通常、編集後、保存すれば即反映されるが、  
RailsでGemfileを編集し、bundleコマンドを実行した後、そのGemを利用したコードを、slim(html)ファイルに記述した場合は、Pumaサーバを再起動しなければ、実行中のアプリケーションに反映されない。  
といった回答がほしいです。


CC BY-SA 4.0
2021-04-24T06:18:39.653
75484
2021-04-24T09:28:36.087
44901
question
ruby-on-rails ruby
Rails どういった変更の場合、実行中のアプリケーションに反映するために、Pumaサーバを再起動する必要があるのか？


production環境の前提で答えますが、「起動時に読み込まれるもの」に修正が加わったときは、再起動が必要です。  
例えばrubyで書かれたソースコードに手を加えたり、gemを追加したときがこれに当たります。

それ以外のものについては、モノによるとしか言えません。例えばslimは、Railsの起動時に読み込まれ、その後は読み込まれることはないので、slimを修正したら再起動が必要です。

オススメは、「何かに修正を入れたらpumaを再起動する」ことです。再起動自体のコストが高いわけではないので、反映ミスが起こるリスクを抱えるよりは、都度再起動するほうが確実です。  
（もちろん、都度再起動が許容できないケースもあるとは思いますが）

なお、pumaを再起動する時にサービスを止めずに動かし続ける方法もあるので、一瞬たりともサービスを止められないという場合でも、基本的には都度再起動が望ましいと思います。


CC BY-SA 4.0
2021-04-24T09:28:36.087
75487
2021-04-24T09:28:36.087
44308
75484
answer