ruby-on-rails - 在 ActiveJob 中,如何捕获任何异常

标签 ruby-on-rails ruby ruby-on-rails-4 rails-activejob

ActiveJob docs for exception handling提供此示例以说明如何在作业上下文中执行异常处理:

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

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

我正在捕获各种异常并以各种方式执行相同的过程,因此我想整理我的代码,而且在我当前的实现中,某些异常被忽略,这意味着在某些情况下我的工作会默默地失败。

如何使用 ActiveJob 捕获任何一般异常?

最佳答案

试试这个

class GuestsCleanupJob < ActiveJob::Base
  ...

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

  ...
end

关于ruby-on-rails - 在 ActiveJob 中,如何捕获任何异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193144/

相关文章:

ruby-on-rails - Rails 4 ActionController::InvalidAuthenticityToken 与多个子域

ruby-on-rails - Rails rake 'Don' t 知道如何构建任务'

ruby-on-rails - Rails 的protect_from_forgery 真的有用吗?

ruby-on-rails - 具有基于关系的动态属性值的 Rails 模型实例

ruby-on-rails - activesupport 回调中的堆栈级别太深

javascript - AWS Cloudsearch Ruby SDK 在提供表达式时出现错误 : Found invalid value where JavaScript Object was expected

ruby-on-rails - 如何显示 Rails 中关联模型的验证错误?

mysql - 如何获取未加倍的记录?

ruby-on-rails - 如何升级 Administrate gem

ruby-on-rails - 如何使用 Minitest 测试交互器管理器