forked from OpenNeo/impress
More gracefully handle batches that fail to save
I noticed a thing with like, an asset that I think referenced an item that doesn't exist, which caused an error in the `body_specific?` validation step? Tbh that validation step needs fixed up in a number of ways, but I'm scared to, since it's hard to know what will break modeling lol. But in any case, more graceful handling is nice! If something happens, I'd rather leave it null and try again later than have the job crash!
This commit is contained in:
parent
80bd229bc6
commit
eb4a3ce0d9
1 changed files with 13 additions and 1 deletions
|
@ -57,7 +57,19 @@ namespace :swf_assets do
|
||||||
# for the transactional semantics, but because it's notably faster than
|
# for the transactional semantics, but because it's notably faster than
|
||||||
# doing a commit between each query, which is what sending the queries
|
# doing a commit between each query, which is what sending the queries
|
||||||
# individually would effectively do!)
|
# individually would effectively do!)
|
||||||
SwfAsset.transaction { batch.each(&:save!) }
|
begin
|
||||||
|
SwfAsset.transaction do
|
||||||
|
batch.each do |asset|
|
||||||
|
begin
|
||||||
|
asset.save!
|
||||||
|
rescue StandardError => error
|
||||||
|
puts "⚠️ Saving asset #{asset.id} failed: #{error.full_message}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
rescue StandardError => error
|
||||||
|
puts "⚠️ Saving this batch failed: #{error.full_message}"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue