Je travaille sur la mise en place d'un serveur de production en utilisant CentOS 5.3, Apache et Phusion Passenger (mod_rails
). J'ai une application qui utilise le moteur de recherche Sphinx et la gemme Thinking Sphinx.Comment puis-je m'assurer que le démon Sphinx fonctionne?
Selon the Thinking Sphinx docs...
Si vous voulez vraiment effectuer la recherche les données indexées, alors vous aurez besoin démon searchd du Sphinx pour être en cours d'exécution. Ceci peut être contrôlé à l'aide des tâches suivantes:
rake thinking_sphinx:start rake ts:start rake thinking_sphinx:stop rake ts:stop
Quelle serait la meilleure façon de faire en sorte que cela se produit dans la production? Je peux déployer mon application, puis exécuter manuellement rake thinking_sphinx:start
, mais j'aime configurer les choses de sorte que si je dois rebondir sur le serveur, tout reviendra.
Devrais-je mettre un appel à cette tâche Rake dans un initialiseur? Ou quelque chose dans rc.local
?
Si un utilisateur effectue une recherche pendant que la réindexation est en cours, ne recevra-t-il pas une erreur? – Ethan
yerp, il fait mourir la recherche lorsque vous reconstruisez, je vous suggère d'ajouter une nouvelle tentative de compensation (réessayez jusqu'à 20 secondes, ou affichez une page personnalisée indiquant que la recherche sera bientôt disponible). (probablement une bonne idée pour pat à ajouter ceci à ts) –
vous avez également besoin d'un moyen de démarrer le démon si vous devez redémarrer le serveur. – holaSenor