2010-07-28 5 views
2

J'ai une application Web Ruby qui met en cache des informations fréquemment utilisées dans un calque léger, mais il y a des moments où je veux réinitialiser le cache sans redémarrer tout le processus. Avant de commencer à utiliser Unicorn, j'avais une liste connue de ports que je pouvais envoyer une requête HTTP spéciale pour réinitialiser le cache sur chaque instance. Cependant, sous Unicorn, le processus Unicorn gère toutes les requêtes HTTP et les transmet individuellement aux processus enfants. Dans ce modèle, y a-t-il un mécanisme simple pour envoyer un message à chacune des instances lancées pour réinitialiser leurs caches?Réinitialiser le cache dans les instances Thin lancées par Unicorn

Répondre

1

Vous pouvez configurer les opérateurs pour écouter chacun un port unique en plus du port principal avec after_fork et envoyer des demandes à chacun de ces ports. Voir la documentation Unicorn::Configurator.

+0

Quelque chose comme: after_fork do | serveur, travailleur | Rails.cache.clear –

Questions connexes