Ruby on rails 以zip格式导出大量数据
我正在将一些数据从服务器导出到客户端 这是一个zip存档,但当数据量太大时:超时Ruby on rails 以zip格式导出大量数据,ruby-on-rails,ruby,zip,export,Ruby On Rails,Ruby,Zip,Export,我正在将一些数据从服务器导出到客户端 这是一个zip存档,但当数据量太大时:超时 #On my controller def export filename = 'my_archive.zip' temp_file = Tempfile.new(filename) begin Zip::OutputStream.open(temp_file) { |zos| } Zip::File.open(temp_file.path, Zip::File::CREATE) do
#On my controller
def export
filename = 'my_archive.zip'
temp_file = Tempfile.new(filename)
begin
Zip::OutputStream.open(temp_file) { |zos| }
Zip::File.open(temp_file.path, Zip::File::CREATE) do |zip|
@videos.each do |v|
video_file_name = v.title + '.mp4'
zip.add(video_file_name, v.source.file.path(:original))
end
end
zip_data = File.read(temp_file.path)
send_data(zip_data, :type => 'application/zip', :filename => filename)
ensure
temp_file.close
temp_file.unlink
end
end
我正在使用回形针
将我的视频附加到我的应用程序上
有没有办法创建和上传zip(带流?)而不用等待太长时间 你可以试试这个。它自称是“黑客对黑客对黑客”,所以当心!看起来很容易使用,值得一试。你能公布准确的错误吗?你的客户是什么?S3?我认为解决这个问题的一个好办法是使用redis和sidekiq或resque将构建zip文件的过程放入一个队列中,我刚刚发现了这个过程并对其进行了测试。在我的测试服务器上,这太棒了。谢谢你的时间。它正在工作,但有一个问题没有直接联系到这个宝石,我张贴。