mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 09:42:07 +08:00
b7c16991f7
FIX: Don't queue more than 1 'update_gravatar' job per user
18 lines
482 B
Ruby
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
|