3
我在Thin上運行Sinatra應用程序。在Sinatra和Thin上下載大文件的高內存消耗
下面的代碼的簡化一下:
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緩衝數據的問題,直到整個響應完成。
有沒有人看到這個問題或找到解決方法?
嗯,這是有道理的。我會嘗試重新創建它,因爲這是很久以前的問題,我們已經從維護這些代碼開始。不過,我仍然想看看是否能解決這個問題。 –