Initial commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
namespace :cartodb do
|
||||
namespace :users do
|
||||
desc 'Get map views from remote service for every user'
|
||||
task :update_remote_map_views => :environment do
|
||||
puts "Updating local map views cache for every user..."
|
||||
::User.all.each do |u|
|
||||
print " - Update #{u.username}"
|
||||
u.set_old_api_calls # updates map views stats older than 3 hours
|
||||
print " OK\n"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
namespace :mapviews do
|
||||
desc 'Get the sum of all the torque mapviews'
|
||||
task :torque_total => :environment do
|
||||
total_torque_mapviews = 0
|
||||
total_visualizations = 0
|
||||
offset = 0
|
||||
stats_manager = CartoDB::Stats::APICalls.new
|
||||
while (torque_vis = SequelRails.connection.fetch(get_torque_visualization(offset, 1000)).all).length > 0
|
||||
torque_vis.each do |vis|
|
||||
total_visualizations += 1
|
||||
total_torque_mapviews += get_total_vis_mapviews(vis, stats_manager)
|
||||
end
|
||||
offset += torque_vis.length
|
||||
end
|
||||
puts "Total torque mapviews: #{total_torque_mapviews}"
|
||||
puts "Total visualizations with torque layers: #{total_visualizations}"
|
||||
end
|
||||
|
||||
def get_torque_visualization(offset, pagesize)
|
||||
%[SELECT v.id, u.username FROM visualizations v
|
||||
INNER JOIN users u ON v.user_id = u.id
|
||||
INNER JOIN layers_maps lm ON v.map_id = lm.map_id
|
||||
INNER JOIN layers l ON lm.layer_id = l.id
|
||||
WHERE l.kind = 'torque'
|
||||
LIMIT #{pagesize} OFFSET #{offset}]
|
||||
end
|
||||
|
||||
def get_total_vis_mapviews(visualization, stats_manager)
|
||||
stats_manager.get_total_api_calls_from_redis(visualization[:username], visualization[:id])
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user