【发布时间】:2014-08-06 18:17:06
【问题描述】:
我正在 Thin 上运行 Sinatra 应用程序。
这是代码的简化外观:
class StreamApp < Sinatra::Base
get "/" do
s3_object = # large S3 object (not loaded into memory)
stream do |out|
s3_object.read do |chunk|
out << chunk
end
end
end
end
随着流式传输的进行,盒子上的内存开始上升到达到最大值的点,然后进程就死了。
我阅读了 2009 年的文章,这是 EventMachine 和 Rack 缓冲数据直到整个响应完成的问题。
有没有人看到这个问题或找到解决方法?
【问题讨论】:
标签: ruby sinatra rack thin eventmachine