Я использую гем демонов с Rails в дополнение к плагину daemon_generator. Я получаю этот вывод в файле журнала демонов:
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>
Мне очень трудно разобраться в этом выводе. Он отображает различные сообщения об ошибках, и я могу сказать, что это не проблемы ./config/global_constants.conf, потому что я не вызываю их внутри файла демона. Кроме того, я не думаю, что это проблемы с памятью, так как мой Mac имеет 2 ГБ памяти и не так много запущенных программ. Что касается сообщения SmsMessage, которое я обычно называю, используя:
scheduledMessagesParent = SmsMessage.valid.find(:all, :conditions => {:status => $SCHEDULED_MESSAGE})
, который работает в другом месте на моем сайте!
Я заметил, что регистратор вызывается с помощью
ActiveRecord::Base.logger.info "....
Возможно ли мне указать путь к моей модели другим способом? Я обычно вызываю регистратор, используя logger.info без необходимости ActiveRecord :: Base. Если так, то как это сделать?
Есть идеи, как отладить эту проблему? Есть ли способ отображения трассировки стека или лучше сообщения об ошибках?