在ActiveJob中,如何捕获任何异常

met*_*mza 8 ruby ruby-on-rails ruby-on-rails-4 rails-activejob

用于异常处理ActiveJob文档提供了有关如何在作业上下文中执行异常处理的示例:

class GuestsCleanupJob < ActiveJob::Base
  queue_as :default

  rescue_from(ActiveRecord::RecordNotFound) do |exception|
   # Do something with the exception
  end

  def perform
    # Do something later
  end
end
Run Code Online (Sandbox Code Playgroud)

我在我正在构建的应用程序中使用此技术并捕获某些特定异常.我的问题是,如何捕获任何和所有异常?

我正在捕获各种异常并以各种方式执行相同的过程,因此我想干掉我的代码,并且在我当前的实现中,某些异常被忽略,这意味着在某些情况下我的作业无声地失败.

如何使用ActiveJob捕获任何常规异常?

Ale*_*nko 17

试试这个

class GuestsCleanupJob < ActiveJob::Base
  ...

  rescue_from(StandardError) do |exception|
   # Do something with the exception
  end

  ...
end
Run Code Online (Sandbox Code Playgroud)