Sha256: 3ee11d9ce66b73820d2cbc1edaca5080ba1763154fba3314229fbc23154cd7a3
Contents?: true
Size: 596 Bytes
Versions: 18
Compression:
Stored size: 596 Bytes
Contents
module Hermes module ProducerErrorHandler class SafeHandler attr_reader :job_class, :error_notifier, :retryable private :job_class, :error_notifier, :retryable def initialize(job_class:, error_notifier:, retryable:) @job_class = job_class @error_notifier = error_notifier @retryable = retryable end def call(event) retryable.perform { yield } rescue => error error_notifier.capture_exception(error) job_class.enqueue(event.class.name, event.as_json, event.origin_headers) end end end end
Version data entries
18 entries across 18 versions & 1 rubygems