Module: Honeybadger::Plugins::Resque::Extension Private
- Defined in:
- lib/honeybadger/plugins/resque.rb
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Instance Method Summary collapse
- #after_perform_with_honeybadger(*args) ⇒ Object private
-
#around_perform_with_honeybadger(*args) ⇒ Object
private
Executed before
on_failurehook; the flush is necessary so that errors reported within jobs get sent before the worker dies. -
#on_failure_with_honeybadger(e, *args) ⇒ Object
private
Error notifications must be synchronous as the
on_failurehook is executed afteraround_perform. - #send_exception_to_honeybadger?(e, args) ⇒ Boolean private
Instance Method Details
#after_perform_with_honeybadger(*args) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
14 15 16 |
# File 'lib/honeybadger/plugins/resque.rb', line 14 def after_perform_with_honeybadger(*args) Honeybadger.clear! end |
#around_perform_with_honeybadger(*args) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Executed before on_failure hook; the flush is necessary so that errors reported within jobs get sent before the worker dies.
10 11 12 |
# File 'lib/honeybadger/plugins/resque.rb', line 10 def around_perform_with_honeybadger(*args) Honeybadger.flush { yield } end |
#on_failure_with_honeybadger(e, *args) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Error notifications must be synchronous as the on_failure hook is executed after around_perform.
20 21 22 23 24 |
# File 'lib/honeybadger/plugins/resque.rb', line 20 def on_failure_with_honeybadger(e, *args) Honeybadger.notify(e, parameters: {job_arguments: args}, sync: true) if send_exception_to_honeybadger?(e, args) ensure Honeybadger.clear! end |
#send_exception_to_honeybadger?(e, args) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
26 27 28 29 30 31 32 33 |
# File 'lib/honeybadger/plugins/resque.rb', line 26 def send_exception_to_honeybadger?(e, args) return true unless respond_to?(:retry_criteria_valid?) return true if ::Honeybadger.config[:"resque.resque_retry.send_exceptions_when_retrying"] !retry_criteria_valid?(e) rescue => e Honeybadger.notify(e, parameters: {job_arguments: args}, sync: true) end |