Module: Deimos::Consume::MessageConsumption
- Extended by:
- ActiveSupport::Concern
- Includes:
- Phobos::Handler
- Included in:
- Deimos::Consumer
- Defined in:
- lib/deimos/consume/message_consumption.rb
Overview
Methods used by message-by-message (non-batch) consumers. These consumers are invoked for every individual message.
Instance Method Summary collapse
- 
  
    
      #around_consume(payload, metadata)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    :nodoc:. 
- 
  
    
      #consume(_payload, _metadata)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Consume incoming messages. 
Instance Method Details
#around_consume(payload, metadata) ⇒ Object
:nodoc:
| 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # File 'lib/deimos/consume/message_consumption.rb', line 12 def around_consume(payload, ) decoded_payload = payload.nil? ? nil : payload.dup = .dup benchmark = Benchmark.measure do _with_span do [:key] = decode_key([:key]) if self.class.config[:key_configured] decoded_payload = (payload) (decoded_payload, ) yield(decoded_payload, ) end end _handle_success(benchmark.real, decoded_payload, ) rescue StandardError => e _handle_error(e, decoded_payload, ) end | 
#consume(_payload, _metadata) ⇒ Object
Consume incoming messages.
| 31 32 33 | # File 'lib/deimos/consume/message_consumption.rb', line 31 def consume(_payload, ) raise NotImplementedError end |