2010-06-23 2 views
0

J'ai une application rails et je cours l'application rails principaux sur un serveur mongrel. Cependant, j'ai également un serveur de comète (utilisant EventMachine) s'exécutant en utilisant l'environnement de rails (ainsi il peut accéder à la base de données). Cependant, Mongrel semble déranger EventMachine. Ma question est, comment puis-je détecter si je cours l'environnement de rails du serveur de rails ou du serveur d'EventMachine ainsi je peux exiger la gemmrel seulement dans ce cas.Comment puis-je détecter si le code est exécuté à partir d'un serveur de rails?

Merci.

Répondre

0

Je compris ce qu'il faut faire. J'ai déjà déclaré certaines variables globales pour le serveur EventMachine, je vérifie donc si elles sont définies ou non. Si ce n'est pas le cas, je sais que le serveur EventMachine n'est pas en cours d'exécution.

0
+0

Cela ne fonctionnera pas car le serveur EventMachine ne touche jamais ActionController. Il charge l'environnement des rails exclusivement dans le but d'utiliser activerecord. – Maz

+0

@Maz Alors, quel est le problème alors? Si vous êtes sous le métacar, ce code retournera 'mongrel', sinon il n'y aura probablement pas de variable '@env' (ou pas de valeur 'SERVER_SOFTWARE'). –

Questions connexes