Module: Karafka::Routing::Features::DeadLetterQueue::Topic
- Defined in:
- lib/karafka/routing/features/dead_letter_queue/topic.rb
Overview
DLQ topic extensions
Instance Method Summary collapse
-
#dead_letter_queue(max_retries: DEFAULT_MAX_RETRIES, topic: nil, independent: false, transactional: true, dispatch_method: :produce_async, marking_method: :mark_as_consumed, mark_after_dispatch: nil) ⇒ Config
Defined config.
-
#dead_letter_queue? ⇒ Boolean
Is the dlq active or not.
-
#to_h ⇒ Hash
Topic with all its native configuration options plus dlq settings.
Instance Method Details
#dead_letter_queue(max_retries: DEFAULT_MAX_RETRIES, topic: nil, independent: false, transactional: true, dispatch_method: :produce_async, marking_method: :mark_as_consumed, mark_after_dispatch: nil) ⇒ Config
Returns defined config.
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 29 def dead_letter_queue( max_retries: DEFAULT_MAX_RETRIES, topic: nil, independent: false, transactional: true, dispatch_method: :produce_async, marking_method: :mark_as_consumed, mark_after_dispatch: nil ) @dead_letter_queue ||= Config.new( active: !topic.nil?, max_retries: max_retries, topic: topic, independent: independent, transactional: transactional, dispatch_method: dispatch_method, marking_method: marking_method, mark_after_dispatch: mark_after_dispatch ) end |
#dead_letter_queue? ⇒ Boolean
Returns is the dlq active or not.
51 52 53 |
# File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 51 def dead_letter_queue? dead_letter_queue.active? end |
#to_h ⇒ Hash
Returns topic with all its native configuration options plus dlq settings.
56 57 58 59 60 |
# File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 56 def to_h super.merge( dead_letter_queue: dead_letter_queue.to_h ).freeze end |