Module: Karafka::Consumers::Responders

Defined in:
lib/karafka/consumers/responders.rb

Overview

Feature that allows us to use responders flow in consumer

Instance Method Summary collapse

Instance Method Details

#respond_with(*data) ⇒ Object

Responds with given data using given responder. This allows us to have a similar way of defining flows like synchronous protocols

Parameters:

  • data

    Anything we want to pass to responder based on which we want to trigger further Kafka responding



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/karafka/consumers/responders.rb', line 11

def respond_with(*data)
  Karafka.monitor.instrument(
    'consumers.responders.respond_with',
    caller: self,
    data: data
  ) do
    # @note we build a new instance of responder each time, as a long-running (persisted)
    #   consumers can respond multiple times during the life-cycle
    topic.responder.new.call(*data)
  end
end