2009-05-10 6 views
0

J'utilise des démons gem avec Rails en plus du plugin daemon_generator. Je reçois cette sortie dans le fichier journal daemons:Problème avec les démons gem dans Rails

Logfile created on Sat May 09 20:10:35 -0700 2009 by/
-below you find the most recent exception thrown, this will be likely (but not certainly) the exception that made the application exit abnormally *** 
#<NameError: uninitialized constant SmsMessage> 
-below you find all exception objects found in memory, some of them may have been thrown in your application, others may just be in memory because they are standard exceptions *** 
#<NoMemoryError: failed to allocate memory> 
#<SystemStackError: stack level too deep> 
#<fatal: exception reentered> 
#<MissingSourceFile: no such file to load -- ./config/global_constants.conf> 
#<NameError: uninitialized constant SmsMessage> 

Je trouve très difficile de donner un sens à partir de cette sortie. Il affiche différents messages d'erreur et je peux dire que ce n'est pas le problème ./config/global_constants.conf parce que je ne l'appelle pas dans le fichier démon. De plus, je ne pense pas que ce soit un problème de mémoire car mon Mac a 2 Go de mémoire et pas beaucoup de programmes en cours d'exécution. comme pour le SmsMessage j'appelle normalement à l'aide:

scheduledMessagesParent = SmsMessage.valid.find(:all, :conditions => {:status => $SCHEDULED_MESSAGE}) 

qui fonctionne ailleurs dans mon site !! Je remarqué que l'enregistreur est appelé en utilisant

ActiveRecord::Base.logger.info ".... 

Est-il possible que je dois spécifier le chemin de mon modèle d'une autre manière? J'appelle normalement l'enregistreur en utilisant logger.info sans avoir besoin d'ActiveRecord :: Base. Si oui, comment faire cela?

Des idées sur la façon de résoudre ce problème? est-il un moyen d'afficher la trace de la pile ou de meilleurs messages d'erreur?

Répondre

0

J'ai résolu ce problème en chargeant l'environnement Rails avec le démon. Il n'a pas été inclus dans le tutoriel dont j'ai obtenu l'info mais cela fonctionne maintenant :)

Questions connexes