Class: Deimos::Consumer

Inherits:
BaseConsumer show all
Includes:
Phobos::Handler
Defined in:
lib/deimos/consumer.rb

Overview

Parent consumer class.

Instance Method Summary collapse

Methods inherited from BaseConsumer

#decode_key, decoder, key_decoder

Instance Method Details

#around_consume(payload, metadata) ⇒ Object

:nodoc:



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/deimos/consumer.rb', line 17

def around_consume(payload, )
  decoded_payload = payload.dup
   = .dup
  benchmark = Benchmark.measure do
    _with_error_span(payload, ) do
      [:key] = decode_key([:key]) if self.class.config[:key_configured]
      decoded_payload = payload ? self.class.decoder.decode(payload) : nil
      _received_message(decoded_payload, )
      yield decoded_payload, 
    end
  end
  _handle_success(benchmark.real, decoded_payload, )
end

#consume(_payload, _metadata) ⇒ Object

Consume incoming messages.

Parameters:

  • _payload (String)
  • _metadata (Hash)

Raises:

  • (NotImplementedError)


34
35
36
# File 'lib/deimos/consumer.rb', line 34

def consume(_payload, )
  raise NotImplementedError
end