Sinatraアプリケーションから本番サーバーに新しいコードをプッシュすると、現在、をタッチしてパッセンジャーの再起動をトリガーしています。これによりtmp/restart.txt
、新しい変更が読み込まれます。問題は、このプロセス中にサイトが基本的に約10秒間ダウンすることです。
ダウンタイムを完全に回避できるようにサーバーをセットアップするにはどうすればよいですか?
つまり、新しいコードが完全に読み込まれるまでアプリケーションが古いバージョンのコードを提供し続け、その後すぐに新しいコードに切り替える必要があります。
これは実稼働環境であるため、ショットガンまたはsinatra/reloaderの使用はここでは機能しません。最後に、答えがアプリケーションサーバーに依存する場合、ユニコーンとパッセンジャーの両方でそれを行う方法に興味があります。