在我的应用程序中,我正在与sucker punch gem异步发送电子邮件。
有时邮件服务器没有响应,我得到Net::ReadTimeout
例外。
我想知道是否有更好的方法来处理错误而不是做这样的事情
class DataJob
include SuckerPunch::Job
def perform(data)
begin
retries ||= 0
puts data
rescue Net::ReadTimeout
sleep 10
retry if (retries += 1) < 3
end
end
end
在我的代码中,我将sucker punch与活动作业集成在一起,所以基本上我只是在调用
Mailer.some_notification(my_object).deliver_later
这需要一些重构。这根本不是问题。我只想包含这些信息。