Nginx / Unicornを介してデプロイする場合、私にとっての問題は、実行中のインスタンスと連絡を取る方法です。アプリのメモリ内キャッシュを更新するためにこれが必要です。
Nginx / Thinを使用して、さまざまなポートで複数のインスタンスを実行し、次のようにポートごとにアプリインスタンスを呼び出します。
#!/bin/bash
curl :2000/update_cache/page_id
curl :2001/update_cache/page_id
etc.
醜いアプローチですが、機能します。実行中のすべてのアプリインスタンスで単一ページ(数千から)のキャッシュを更新できるためです。
ユニコーンでも同じことができるのだろうが、ポートではできない。Unicornは、実行中のインスタンスのリスト、またはそれらと対話する方法を提供しますか?
インメモリキャッシュの問題は、あるインスタンスでそれを更新するとき、通常は他のインスタンスでは更新されないことです。そのため、一部のユーザーには更新されたコンテンツが表示され、他のユーザーには古いコンテンツが残っているため、コンテンツの不一致が発生します。
すべてのUnicornインスタンスのキャッシュを更新するにはどうすればよいですか?