Module: Kafka::Retryable::HandleFailure::ClassMethods
- Defined in:
- lib/kafka/retryable/handle_failure.rb
Instance Method Summary collapse
-
#configure_handler(failure_handling_options) ⇒ Object
Define failure handler configuration here failure_handler buffer: :kafka, dead_letter_queue: :topic_t1, exception_blacklist: [Karafka::InvalidMessageError], after_failure: ->(error, _) { Bugsnag.notify(error) }.
-
#failure_configuration ⇒ Object
@@failure_configuration is stored in a hash when the class is first loaded.
-
#validate_options(failure_handling_options) ⇒ Object
Validate if the configuration passed is a valid one If the configuration is invalid, raise exception.
Instance Method Details
#configure_handler(failure_handling_options) ⇒ Object
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
12 13 14 15 16 |
# File 'lib/kafka/retryable/handle_failure.rb', line 12 def configure_handler() () @@failure_configuration ||= {} @@failure_configuration[to_s] = end |
#failure_configuration ⇒ Object
@@failure_configuration is stored in a hash when the class is first loaded
19 20 21 |
# File 'lib/kafka/retryable/handle_failure.rb', line 19 def failure_configuration @@failure_configuration end |
#validate_options(failure_handling_options) ⇒ Object
Validate if the configuration passed is a valid one
If the configuration is invalid, raise exception
25 26 27 28 29 30 31 32 33 |
# File 'lib/kafka/retryable/handle_failure.rb', line 25 def () = Kafka::Retryable::Schemas::FailureHandlerOptions.call( ) return if .success? raise Kafka::Retryable::InvalidHandlingOptions.new( validation_errors: .errors ) end |