module Kafka::Retryable::HandleFailure::ClassMethods
Public Instance Methods
configure_handler(failure_handling_options)
click to toggle source
Define failure handler configuration here
failure_handler buffer: :kafka, dead_letter_queue: :topic_t1, exception_blacklist: [Karafka::InvalidMessageError], after_failure: ->(error, _) { Bugsnag.notify(error) }
Only buffer and dead_letter_queue are required arguments
# File lib/kafka/retryable/handle_failure.rb, line 12 def configure_handler(failure_handling_options) validate_options(failure_handling_options) @@failure_configuration ||= {} @@failure_configuration[to_s] = failure_handling_options end
failure_configuration()
click to toggle source
@@failure_configuration is stored in a hash when the class is first loaded
# File lib/kafka/retryable/handle_failure.rb, line 19 def failure_configuration @@failure_configuration end
validate_options(failure_handling_options)
click to toggle source
Validate if the configuration passed is a valid one
If the configuration is invalid, raise exception
# File lib/kafka/retryable/handle_failure.rb, line 25 def validate_options(failure_handling_options) options_validator = Kafka::Retryable::Schemas::FailureHandlerOptions.call( failure_handling_options ) return if options_validator.success? raise Kafka::Retryable::InvalidHandlingOptions.new( validation_errors: options_validator.errors ) end