class KafkaSession::Producer

Attributes

client[R]

Public Class Methods

new(name:, brokers:) click to toggle source
# File lib/kafka_session/producer.rb, line 7
def initialize(name:, brokers:)
  @client = Kafka.new(
    seed_brokers: brokers,
    client_id:    name
  )
end

Public Instance Methods

publish(messages:, topic:) click to toggle source
# File lib/kafka_session/producer.rb, line 14
def publish(messages:, topic:)
  producer = client.producer

  messages.each do |message|
    producer.produce(message, topic: topic)
  end

  producer.deliver_messages
end