Rails: send_data () занимает 120 секунд, чтобы отправить крошечный файл в браузер

#ruby-on-rails

#ruby-on-rails

Вопрос:

Я сталкиваюсь со странной проблемой с Rails3 и send_data . Простое действие контроллера должно просто отправить небольшой файл в браузер:

 def download
  send_data "test", :filename => "file.txt", :type => 'text/plain'
end
  

Когда я нажимаю ссылку на это действие контроллера в браузере, ничего не происходит почти ровно 120 секунд. По истечении этих 120 секунд файл будет загружен мгновенно.

Странно то, что я могу продолжать просматривать другие сайты веб-приложения, и все реагирует в течение миллисекунд. Файл журнала показывает

 Rendered text template (0.0ms)
Sent data file.txt (0.8ms)
Completed 200 OK in 24ms (Views: 0.7ms | ActiveRecord: 1.3ms)
  

Как раз тогда, когда я нажал на ссылку для скачивания. По истечении этих 120 секунд в файле журнала ничего не печатается, и файл фактически отправляется в браузер.

Я использую Rails 3.0.7, POW и Mongrel в Mac OS X. Протестировано с Firefox и Chrome.

Комментарии:

1. Хммм. Когда я запускаю свой сервер с rails server (не используя POW), все работает нормально. Даже с Mongrel или Webrick. Итак, в чем проблема?

2. Смотрите: github.com/37signals/pow/issues/102

Ответ №1:

Это была проблема с POW. Обходным путем является использование Mongrel или Webrick.

Смотрите: github.com/37signals/pow/issues/102