discourse/app/jobs/scheduled/create_missing_avatars.rb

19 lines
419 B
Ruby

# frozen_string_literal: true
module Jobs
class CreateMissingAvatars < ::Jobs::Scheduled
every 1.hour
def execute(args)
# backfill in batches of 5000 an hour
UserAvatar
.includes(:user)
.joins(:user)
.where(last_gravatar_download_attempt: nil)
.order("users.last_posted_at DESC")
.limit(5000)
.each { |u| u.user.refresh_avatar }
end
end
end