Ich verwende eine Rake-Aufgabe, um Daten von einem CSV, rufen Sie die shopify API mit diesen Daten, und speichern Sie die Antwort auf eine andere CSV. Das Problem ist, dass ich keinen Fehlerhandler an Ort und Stelle habe, so dass, wenn die shopify API die von mir bereitgestellte Ressource nicht finden kann, die gesamte Aufgabe abgebrochen wird. Was ist der beste Weg, um den Fehler zu behandeln, so dass, wenn die Ressource in Shopify nicht gefunden wird, einfach übersprungen werden und mit der nächsten Zeile fortfahren?Rake Aufgabe Handle 404
Die Linie, die die Shopify API im Code aufrufen unten:
variant = ShopifyAPI::Variant.find(vid)
namespace :replace do
desc "replace variant id with variant sku"
task :sku => :environment do
file="db/master-list-3-28.csv"
newFile = Rails.root.join('lib/assets', 'newFile.csv')
CSV.open(newFile, "a+") do |csv|
CSV.foreach(file) do |row|
msku, namespace, key, valueType, value = row
valueArray = value.split('|')
newValueString = ""
valueArray.each_with_index do |v, index|
recArray = v.split('*')
handle = recArray[0]
vid = recArray[1]
newValueString << handle
newValueString << "*"
# use api call to retrieve variant sku using handle and vid
#replace vid with sku and save to csv
variant = ShopifyAPI::Variant.find(vid)
sleep 1
# puts variant.sku
newValueString << variant.sku
if index < 2
newValueString << "|"
end
end
#end of value save the newvaluestring to new csv
csv << [newValueString]
end
end
end
end