0

在我的应用程序中,我正在使用傻瓜拳击 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

在我的代码中,我将吸盘打孔与主动工作相结合,所以基本上我只是在打电话

Mailer.some_notification(my_object).deliver_later

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

4

0 回答 0