FIX: `fix_missing_s3` task fails on failed upload (take 2) (#13660)
ref: 935aadbfdd
This commit is contained in:
parent
935aadbfdd
commit
236d6d91b2
|
@ -1037,10 +1037,17 @@ def fix_missing_s3
|
||||||
else
|
else
|
||||||
# we do not fix sha, it may be wrong for arbitrary reasons, if we correct it
|
# we do not fix sha, it may be wrong for arbitrary reasons, if we correct it
|
||||||
# we may end up breaking posts
|
# we may end up breaking posts
|
||||||
|
save_error = nil
|
||||||
|
begin
|
||||||
upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked])
|
upload.assign_attributes(etag: fixed_upload.etag, url: fixed_upload.url, verification_status: Upload.verification_statuses[:unchecked])
|
||||||
saved = upload.save(validate: false)
|
upload.save!(validate: false)
|
||||||
|
rescue => save_error
|
||||||
|
# url might be null
|
||||||
|
end
|
||||||
|
|
||||||
if saved
|
if save_error
|
||||||
|
puts "Failed to save upload #{saved.errors.full_messages}"
|
||||||
|
else
|
||||||
OptimizedImage.where(upload_id: upload.id).destroy_all
|
OptimizedImage.where(upload_id: upload.id).destroy_all
|
||||||
rebake_ids = PostUpload.where(upload_id: upload.id).pluck(:post_id)
|
rebake_ids = PostUpload.where(upload_id: upload.id).pluck(:post_id)
|
||||||
|
|
||||||
|
@ -1050,8 +1057,6 @@ def fix_missing_s3
|
||||||
post.rebake!
|
post.rebake!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
|
||||||
puts "Failed to save upload #{saved.errors.full_messages}"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue