Sha256: 8221f7cc5cd0a02dc46598617188d4eba91350389afc85a0113a6344a6e43a62
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
require "resque" require "resque/failure/multiple" module Bugsnag class Resque < ::Resque::Failure::Base def self.configure(&block) add_failure_backend Bugsnag.configure(&block) end def self.add_failure_backend return if ::Resque::Failure.backend == self # Ensure resque is using a "Multiple" failure backend unless ::Resque::Failure.backend < ::Resque::Failure::Multiple original_backend = ::Resque::Failure.backend ::Resque::Failure.backend = ::Resque::Failure::Multiple ::Resque::Failure.backend.classes ||= [] ::Resque::Failure.backend.classes << original_backend end # Add Bugsnag failure backend unless ::Resque::Failure.backend.classes.include?(self) ::Resque::Failure.backend.classes << self end end def save Bugsnag.auto_notify(exception, {:context => "#{payload['class']}@#{queue}", :payload => payload}) end end end # For backwards compatibility Resque::Failure::Bugsnag = Bugsnag::Resque # Auto-load the failure backend Bugsnag::Resque.add_failure_backend if Resque::Worker.new.fork_per_job? Resque.after_fork do Bugsnag.configuration.app_type = "resque" Bugsnag.configuration.default_delivery_method = :synchronous end else Resque.before_first_fork do Bugsnag.configuration.app_type = "resque" Bugsnag.configuration.default_delivery_method = :synchronous end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bugsnag-5.3.0 | lib/bugsnag/resque.rb |