моей первой мыслью были нити или волокна - но вы сказали, что не используете их.хм ... может ли это быть вызвано устаревшей сессией?
это действительно очень широкий и неопределенный вопрос ..
Возможно, вы могли бы написать скрипт для анализа ваших файлов журналов ипопытаться сузить, когда / на каких маршрутах это происходит.Но это также довольно сложно отлаживать, потому что вы, вероятно, внесли несколько изменений кода, некоторые из которых привели к допустимым ошибкам, которые могут выглядеть примерно так.
Может случиться, что экземпляры Unicorn умрут, а затемперезапущен .. это может расстроить текущую сессию.Возможно, вы захотите поэкспериментировать с этим - например, используйте тестовую среду с двумя единорогами, убейте одного посредника и посмотрите, как это повлияет на ваши логи.
Вероятно, вам следует установить средство, где ваши Railsсервер отправляет вам подробную запись в журнале при каждом возникновении исключения ... это, вероятно, лучший способ получить больше информации о том, что там происходит ..
например: этот Gem в вашем Gemfile:
# Receive exception notifications from production
gem 'exception_notification_rails3', :require => 'exception_notifier'
и в вашем файле config / environment / production.rb:
config.middleware.use ExceptionNotifier,
:email_prefix => "[Exception] ",
:sender_address => %{"Exception Notifier" <your-system@your-domain.com>},
:exception_recipients => %w{person1@your-domain.com person2@your-domain.com}
См. Также: https://github.com/railsware/exception_notification