Rails sucker punch - 有没有办法通过重试执行的操作来处理错误

时间:2017-05-19 10:53:34

标签: ruby-on-rails ruby sucker-punch

在我的应用程序中,我正在与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

这需要一些重构。这根本不是问题。我只想包含这些信息。

0 个答案:

没有答案