После того, как я коснулся tmp/restart.txt, и мое приложение перезагрузилось, первый запрос вызывает ошибку, как правило, что-то о том, что вы не нашли Haml :: Engine или какой-либо другой камень. Второй и последующие запросы работают нормально. У меня была эта проблема на Dreamhost, в которой работали Rack 0.4.1 и Sinatra 0.3.3, но, перейдя на мой собственный хост и запустив новую стойку (0.9.1) и Sinatra (0.9.0.4), я все еще вижу проблему.Почему я получаю сообщение об ошибке при первом запросе после перезапуска приложения Sinatra с помощью Rack and Phusion Passenger?
Если вы не знаете точный ответ, но имеете советы о том, как я мог его отслеживать, пожалуйста, дайте мне знать.
Вот мой config.ru:
require 'rubygems'
require 'sinatra'
disable :run
set :environment, :production
set :raise_errors, true
require 'app.rb'
run Sinatra::Application
Да, мне нужны рубигемы, и он работает отлично, автономно или работает в режиме реального времени. Я добавил свой config.ru к исходному вопросу, как вы предложили. Это почти так же, как Passenger не перезапускает приложение до тех пор, пока не поступит первый запрос, и этот запрос не попадет в проблему синхронизации, потому что он все еще подходит. –
Все выглядит отлично с вашей конфигурацией стойки. Единственное, что осталось предложить - это попробовать приложение для приветствия в мире приветствия и посмотреть, произойдет ли одно и то же. Похоже, поскольку ваше приложение демонстрирует ту же проблему на нескольких хостах, что это как-то связано с вашим приложением. Может быть, также обновить все ваши драгоценные камни? – rfunduk
Не смотрел на это через некоторое время, но теперь у меня, похоже, нет проблемы, и единственное, что я могу придумать, это запустить более новую версию Sinatra (0.9.1.1), а так как вы упомянули обновление драгоценные камни, вы получаете галочку по умолчанию. –