Change post-processing to be deferred only for large media types (#19617)
parent
c68e6b52d9
commit
15bae3e0e4
|
@ -3,7 +3,7 @@
|
||||||
class Api::V2::MediaController < Api::V1::MediaController
|
class Api::V2::MediaController < Api::V1::MediaController
|
||||||
def create
|
def create
|
||||||
@media_attachment = current_account.media_attachments.create!({ delay_processing: true }.merge(media_attachment_params))
|
@media_attachment = current_account.media_attachments.create!({ delay_processing: true }.merge(media_attachment_params))
|
||||||
render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: 202
|
render json: @media_attachment, serializer: REST::MediaAttachmentSerializer, status: @media_attachment.not_processed? ? 202 : 200
|
||||||
rescue Paperclip::Errors::NotIdentifiedByImageMagickError
|
rescue Paperclip::Errors::NotIdentifiedByImageMagickError
|
||||||
render json: file_type_error, status: 422
|
render json: file_type_error, status: 422
|
||||||
rescue Paperclip::Error
|
rescue Paperclip::Error
|
||||||
|
|
|
@ -248,11 +248,11 @@ class MediaAttachment < ApplicationRecord
|
||||||
attr_writer :delay_processing
|
attr_writer :delay_processing
|
||||||
|
|
||||||
def delay_processing?
|
def delay_processing?
|
||||||
@delay_processing
|
@delay_processing && larger_media_format?
|
||||||
end
|
end
|
||||||
|
|
||||||
def delay_processing_for_attachment?(attachment_name)
|
def delay_processing_for_attachment?(attachment_name)
|
||||||
@delay_processing && attachment_name == :file
|
delay_processing? && attachment_name == :file
|
||||||
end
|
end
|
||||||
|
|
||||||
after_commit :enqueue_processing, on: :create
|
after_commit :enqueue_processing, on: :create
|
||||||
|
|
Loading…
Reference in New Issue