2012-10-21 7 views
5

htmlレイアウトを変更するなど、私のレールアプリに少し変更を加えるとします。 Unicornでロールオーバーを再開するにはどうすればいいですか?効果的には、レールアプリの最新バージョンにユニコーンプロセス(または、代わりにワーカー)を起動し、古いユニコーンプロセス/ワーカーから新しいものへのトラフィックをアトミックに切り替えたいとします。 Google検索では、これをどうやって行うのか、それを取り巻くすべての問題を具体的に明確に説明することはできませんでした。ユニコーンでローリングリスタートするには?

答えて

5

は、複数の方法がありますが、次のようにそれらの一つがある:マスター・プロセスへ

  • 送信SIGUSR2。 Unicornは、古いマスタと古いワーカープロセスと並行して動作する新しいマスタをワーカープロセスで開始します。
  • 新しいマスタープロセスとワーカープロセスが開始するまで待ちます。
  • 古いマスターを強制終了します。

出典:http://unicorn.bogomips.org/SIGNALS.html

しかしこれは非常にメモリフレンドリーではありません。一時的にメモリ使用量が2倍必要です。

Phusion Passenger Enterpriseはローリングリスタートをサポートしています(他のクールな機能とともに)が、プロセスを1つずつ再起動するため、メモリはそれほど必要ありません。 TTINとTTOUT信号を使用してUnicornで1回ずつローリングリスタートをスクリプト作成することは可能ですが、Phusion Passengerはスクリプトなしで自動的にすべてを行います。

関連する問題