IP
Size: a a a
IP
IP
АГ
CR
AM
VE
AM
EB
D
EB
D
AM
EB
AD
AM
AD
AD
AM
AM
class Exporter < BaseService
def call
export!
end
private
def export!
s3.upload_stream_zip do |zip|
zip.write_deflated_file(filename) do |sink|
find_in_batches do |batch|
batch.each do |line|
sink << CSV.generate_line(line)
end
end
end
end
end
def find_in_batches
loop do
batch = fetch_lines(offset)
yield(offset, batch)
break if batch.length < BATCH_SIZE
offset += BATCH_SIZE
end
end
end