discourse/app/jobs/scheduled/create_missing_avatars.rb
Régis Hanol b7c16991f7 FIX: Jobs.cancel_scheduled_job wasn't working anymore due to our move to using multiple queues
FIX: Don't queue more than 1 'update_gravatar' job per user
2016-04-13 18:12:28 +02:00

18 lines
482 B
Ruby

module Jobs
class CreateMissingAvatars < Jobs::Scheduled
every 1.hour
def execute(args)
# backfill in batches of 5000 an hour
UserAvatar.includes(:user)
.where(last_gravatar_download_attempt: nil)
.order("users.last_posted_at DESC")
.find_in_batches(batch_size: 5000) do |user_avatars|
user_avatars.each do |user_avatar|
user_avatar.user.refresh_avatar
end
end
end
end
end