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)  ⇒ 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) ⇒ Config
Returns defined config.
      26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43  | 
    
      # File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 26 def dead_letter_queue( max_retries: DEFAULT_MAX_RETRIES, topic: nil, independent: false, transactional: true, dispatch_method: :produce_async, marking_method: :mark_as_consumed ) @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 ) end  | 
  
#dead_letter_queue? ⇒ Boolean
Returns is the dlq active or not.
      46 47 48  | 
    
      # File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 46 def dead_letter_queue? dead_letter_queue.active? end  | 
  
#to_h ⇒ Hash
Returns topic with all its native configuration options plus dlq settings.
      51 52 53 54 55  | 
    
      # File 'lib/karafka/routing/features/dead_letter_queue/topic.rb', line 51 def to_h super.merge( dead_letter_queue: dead_letter_queue.to_h ).freeze end  |