From 6e0f54ba9af0b11ed3d57035ecd96db39af17c34 Mon Sep 17 00:00:00 2001 From: Sam Date: Tue, 27 May 2014 20:46:17 +1000 Subject: [PATCH] slow down the back fill process a bit --- app/jobs/scheduled/create_missing_avatars.rb | 13 ++++++++----- spec/jobs/create_missing_avatars_spec.rb | 9 +++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 spec/jobs/create_missing_avatars_spec.rb diff --git a/app/jobs/scheduled/create_missing_avatars.rb b/app/jobs/scheduled/create_missing_avatars.rb index c7d0d038197..e29b73b11f1 100644 --- a/app/jobs/scheduled/create_missing_avatars.rb +++ b/app/jobs/scheduled/create_missing_avatars.rb @@ -2,14 +2,17 @@ module Jobs class CreateMissingAvatars < Jobs::Scheduled every 1.hour def execute(args) - User.where(uploaded_avatar_id: nil).find_each do |u| - u.refresh_avatar - u.save - end - UserAvatar.where(system_upload_id: nil).find_each do |a| a.update_system_avatar! end + + # backfill in batches 1000 an hour + User.where(uploaded_avatar_id: nil) + .order("last_posted_at desc") + .limit(1000).find_each do |u| + u.refresh_avatar + u.save + end end end end diff --git a/spec/jobs/create_missing_avatars_spec.rb b/spec/jobs/create_missing_avatars_spec.rb new file mode 100644 index 00000000000..09cd1a9dc30 --- /dev/null +++ b/spec/jobs/create_missing_avatars_spec.rb @@ -0,0 +1,9 @@ +require 'spec_helper' + +require_dependency 'jobs/scheduled/create_missing_avatars' + +describe Jobs::CreateMissingAvatars do + it "runs correctly without crashing" do + Jobs::CreateMissingAvatars.new.execute(nil) + end +end