Class: Webhookdb::Jobs::OrganizationErrorHandlerDispatch

Inherits:
Object
  • Object
show all
Extended by:
Async::Job
Defined in:
lib/webhookdb/jobs/organization_error_handler_dispatch.rb

Instance Method Summary collapse

Methods included from Async::Job

extended

Instance Method Details

#perform(error_handler_id, payload) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/webhookdb/jobs/organization_error_handler_dispatch.rb', line 10

def perform(error_handler_id, payload)
  eh = self.lookup_model(Webhookdb::Organization::ErrorHandler, error_handler_id)
  self.set_job_tags(error_handler_id: eh.id, **eh.organization.log_tags)
  begin
    eh.dispatch(payload)
    self.set_job_tags(result: "success")
  rescue StandardError => e
    # Don't bother logging these errors out
    self.set_job_tags(result: "error")
    self.logger.debug("organization_error_handler_post_error", error: e)
    raise Amigo::Retry::OrDie.new(
      Webhookdb::Organization::Alerting.error_handler_retries,
      Webhookdb::Organization::Alerting.error_handler_retry_interval,
    )
  end
end