Merge pull request #13933 from CartoDB/export_batched_named_maps

Add batch size to rake
pull/13943/merge
Alberto Romeu 6 years ago committed by GitHub
commit 7b7c0cdf5c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,7 +1,8 @@
namespace :cartodb do
namespace :redis_keys do
desc 'export named_maps key'
task :export_named_maps, [:file] => :environment do |_task, args|
task :export_named_maps, [:file, :batch_size] => :environment do |_task, args|
args.with_defaults(batch_size: 100)
if args[:file].nil?
puts "usage: bundle exec rake cartodb:redis_keys:export_named_maps[filter]\n
@ -11,15 +12,16 @@ namespace :cartodb do
end
module ExportNamedMaps
def export_users_json_hash(users)
def export_users_json_hash(users, batch_size)
{
redis: export_users(users)
redis: export_users(users, batch_size)
}
end
def export_users(users)
def export_users(users, batch_size)
export_users_hash = { tables_metadata: {} }
users.each do |u|
users.use_cursor(rows_per_fetch: batch_size).each do |u|
puts("Exporting named maps for user #{u.username}")
export_users_hash[:tables_metadata].merge!(export_dataservices($tables_metadata, "map_tpl|#{u.username}"))
end
export_users_hash
@ -44,7 +46,7 @@ namespace :cartodb do
include ExportNamedMaps
users = User.where(File.read(args[:file]).to_s)
File.open('redis_export.json', 'w') { |file| file.write(export_users_json_hash(users).to_json) }
File.open('redis_export.json', 'w') { |file| file.write(export_users_json_hash(users, args[:batch_size]).to_json) }
end
desc 'import named_maps key '

Loading…
Cancel
Save