2017-05-10 18:16:57 -04:00
|
|
|
module Jobs
|
|
|
|
|
|
|
|
class CreateAvatarThumbnails < Jobs::Base
|
2018-08-07 04:05:13 -04:00
|
|
|
sidekiq_options queue: 'low'
|
2017-05-10 18:16:57 -04:00
|
|
|
|
|
|
|
def execute(args)
|
2017-06-21 22:23:31 -04:00
|
|
|
return if Rails.env.test?
|
2017-05-10 18:16:57 -04:00
|
|
|
upload_id = args[:upload_id]
|
|
|
|
|
|
|
|
raise Discourse::InvalidParameters.new(:upload_id) if upload_id.blank?
|
|
|
|
|
2017-05-11 03:07:04 -04:00
|
|
|
return unless upload = Upload.find_by(id: upload_id)
|
2017-10-01 22:24:37 -04:00
|
|
|
return unless user = User.find_by(id: args[:user_id] || upload.user_id)
|
2017-05-10 18:16:57 -04:00
|
|
|
|
|
|
|
Discourse.avatar_sizes.each do |size|
|
2018-08-16 02:32:36 -04:00
|
|
|
OptimizedImage.create_for(
|
|
|
|
upload,
|
|
|
|
size,
|
|
|
|
size,
|
|
|
|
allow_animation: SiteSetting.allow_animated_avatars
|
|
|
|
)
|
2017-05-10 18:16:57 -04:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|