4

Sinatraアプリケーションから本番サーバーに新しいコードをプッシュすると、現在、をタッチしてパッセンジャーの再起動をトリガーしています。これによりtmp/restart.txt、新しい変更が読み込まれます。問題は、このプロセス中にサイトが基本的に約10秒間ダウンすることです。

ダウンタイムを完全に回避できるようにサーバーをセットアップするにはどうすればよいですか?

つまり、新しいコードが完全に読み込まれるまでアプリケーションが古いバージョンのコードを提供し続け、その後すぐに新しいコードに切り替える必要があります。

これは実稼働環境であるため、ショットガンまたはsinatra/reloaderの使用はここでは機能しません。最後に、答えがアプリケーションサーバーに依存する場合、ユニコーンとパッセンジャーの両方でそれを行う方法に興味があります。

4

1 に答える 1

2

あなたが探しているのは、ローリングリスタートです。Phusion Passenger Enterpriseはこれをサポートしています:http ://www.modrails.com/documentation/Users%20guide%20Nginx.html#PassengerRollingRestarts

于 2013-03-13T08:23:05.290 に答える