pumaのマニュアルは、段階的再起動をUSR1信号で開始できることを示しています。しかし、私はこれを使用してローリング再起動を行う方法については不明です。私のディレクトリの/ home/abc/rails_appと/ home/abc/rails_app_updatedに新しい変更が加えられたコードのコピーが含まれている場合、再起動時に新しいコードがどこにあるのかをpumaに伝える方法があると思われますか?私はこれに決定的な何かを見つけることができませんでした。Pumaを使用した停止時間のゼロ化
答えて
Pumaは起動時にコードを読み込みます。その後、レールアプリを削除しても問題は解決しません(基本的には)。コードを更新すれば、Pumaは気付かないでしょう。 USR1シグナルを送信することは、既存の接続を適切に処理しながら、(新しい)コードをリロードすることです。したがって、2つの別個のディレクトリを用意する必要はなく、コードをその場で更新することができます。
ディレクトリを分割する必要がある場合は、現在のコードでPumaが使用するコードを指す単一のシンボリックリンクされたディレクトリを持つことができます(capistranoはこの戦略を使用します。最新のリリースを指している)。そして、USR1を送ると、与えられたディレクトリからコードがリロードされます。
さらに詳しい情報が必要な場合は教えてください。
編集:Probabaly私はあまり正確ではありませんでした。 Pumaは実際にRailsによって処理されるファイルの(再)ローディングを処理しません(PumaはRackアプリケーションを起動するか、USR1シグナルでアプリケーションを再起動します)。開発モードでは、Railsはすべての要求に対してファイルをリロードします。これは、コードを変更するときに便利です。本番では、これらの設定は、一般的に(config/environments/production.rb
から)適用:
# Code is not reloaded between requests.
config.cache_classes = true
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both thread web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
もしあなたが本当に落ちたければ、cache_classes
がレールのソースで正確に何をするのか見てみることができますが、私はそれに精通していません。
Niels
最初の段落は非常に便利です。私は、プーマが始まった後のコードの変更が安全で、意図されたものであると言っている決定的な文書を見つけることができませんでした。時間が許せば賞金を授与します。 – user782220
- 1. 停止時間ゼロの再構築インデックス
- 2. 停止時間ゼロのspark cassandraクラスタの自動スケーリング
- 3. Kubernetes Nginx:停止時間ゼロの展開方法
- 4. WaveAudioStreamの一時停止/停止時の待ち時間
- 5. 停止時間ゼロのスケーラブルなシステムに新しいノードを追加
- 6. Elasticsearchの古いデータをゼロ停止時間で置き換えながら新しいデータをインデックス化する
- 7. ML-Gradleを使用したデータベース複製の無効化/一時停止
- 8. [as3]ボタンを使用した開始間隔と停止間隔
- 9. 一時停止したアクティビティ
- 10. ボタンを使用してrefresh_divを一時停止または一時停止解除する
- 11. spring integration dslを使用してファイルポーラーを停止/一時停止する
- 12. jQueryを使用した一時停止タイムアウト機能
- 13. 音声を一時停止したときに変化する画像を一時停止
- 14. 停止時間のないWebSphereのデプロイ
- 15. actionscriptの行間の一時停止
- 16. AVAudioplayerを数秒間一時停止
- 17. 設定した時間後にスクリプトを停止する
- 18. graleを使用したノード停止アプリケーション
- 19. 移行時間と停止時間の測定方法
- 20. Ruby/Pumaを使用したローカルSSL
- 21. 一時停止/一時停止後に一時停止したシーン(停止していない状態)でSKActionを実行しないようにするには、一時停止/一時停止後にノードのテクスチャは変更されません。
- 22. Logstash数時間後にランダムに停止
- 23. 反応ネイティブを使用して、アンドロイドメディア(再生、一時停止、停止)を使用する方法
- 24. setitimerを使用してタイマーを一時停止しますか?
- 25. setTimeout()を使用してMochaテストを一時停止します
- 26. Google Cloud SQL:停止時間をゼロにしてマシンのタイプを変更できますか?
- 27. ヘルプが必要です:日付を使用してゼロで停止するカウントダウンタイマー
- 28. iOSプログラミングの時間を一時停止する方法
- 29. JavaScriptサウンド再生/停止/一時停止
- 30. 与えられた時間にスケジュールを停止する
あなたはプーマの前で実行していることはありますか?ワニス、nginx、haproxyなどのリバースプロキシ/キャッシュ –