Rails:send_data()需要120秒才能将小文件发送到浏览器

时间:2011-06-08 16:23:06

标签: 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秒并且文件实际发送到浏览器之后,没有任何内容打印到日志文件中。

我在Mac OS X上使用Rails 3.0.7,POW和Mongrel。使用Firefox和Chrome进行测试。

1 个答案:

答案 0 :(得分:1)

这是一个战祸问题。解决方法是使用Mongrel或Webrick。

见:github.com/37signals/pow/issues/102