Проблемы с памятью с httparty и загрузка больших файлов
-
25-10-2019 - |
Вопрос
Это вызовет проблемы с памятью с Ruby. Я знаю, что Open-Uri пишет The Tempfile, если размер превышает 10 КБ. Но будет ли Httparty попытаться сохранить весь PDF в память, прежде чем он запирается в Tempfile?
src = Tempfile.new("file.pdf")
src.binmode
src.write HTTParty.get("large_file.pdf").parsed_response
Решение
Вы можете использовать net :: http. Видеть документация (В частности, раздел под названием «Тела потоковой реакции»).
Вот пример из документов:
uri = URI('http://example.com/large_file')
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri.request_uri
http.request request do |response|
open 'large_file', 'w' do |io|
response.read_body do |chunk|
io.write chunk
end
end
end
end
Не связан с StackOverflow