mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 09:43:40 +08:00
8d06731484
In the past onceoff was forcing inline download of gravatars, this can be so expensive that it will never finish This fix ensures it only marks avatars stale which will be picked up by regular schedules
17 lines
589 B
Ruby
17 lines
589 B
Ruby
module Jobs
|
|
class FixInvalidGravatarUploads < Jobs::Onceoff
|
|
def execute_onceoff(args)
|
|
Upload.where(original_filename: "gravatar.png").find_each do |upload|
|
|
# note, this still feels pretty expensive for a once off
|
|
# we may need to re-evaluate this
|
|
extension = FastImage.type(Discourse.store.path_for(upload))
|
|
current_extension = upload.extension
|
|
|
|
if extension.to_s.downcase != current_extension.to_s.downcase
|
|
upload&.user&.user_avatar&.update_columns(last_gravatar_download_attempt: nil)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|