class SendTrackerToShipupJob < ApplicationJob
queue_as :default
retry_on StandardError, wait: 5.seconds, attempts: 3
def perform(tracker)
response = Shipup.new().sendTracker(tracker)
if response.code != 201
puts response.code, response.message
raise "Couldn\'t send tracker to Shipup"
return
end
shipment = Shipment.find_by(tracking_code: tracker[:tracking_number])
shipment.sent_to_shipup = true
shipment.save
end
end
Я намеренно заставляю задание не проверять, запускается ли оно снова 3 раза каждые 5 секунд.
SendTrackerToShipupJob.set(wait: 5.minutes).perform_later(...)
Но вот мой журнал вывода:
3: 59: 21 PM web.1 | Повторная попытка SendTrackerToShipupJob через 3 секунды из-за ошибки StandardError. Первоначальное исключение было ноль. 15:59:21 вэб.1 | Неподдерживаемый тип аргумента: Время
И он больше не сработает. Есть идеи?