Skip to content

Instantly share code, notes, and snippets.

@rbnpercy
Created July 23, 2018 11:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rbnpercy/069bef0da1da48b4c442367cfdd7995a to your computer and use it in GitHub Desktop.
Save rbnpercy/069bef0da1da48b4c442367cfdd7995a to your computer and use it in GitHub Desktop.
require "kafka"
logger = Logger.new($stderr)
brokers = ENV.fetch("KAFKA_BROKERS")
# Make sure to create this topic in your Kafka cluster or configure the
# cluster to auto-create topics.
topic = "text"
kafka = Kafka.new(
seed_brokers: brokers,
client_id: "simple-producer",
logger: logger,
)
producer = kafka.producer
begin
$stdin.each_with_index do |line, index|
producer.produce(line, topic: topic)
# Send messages for every 10 lines.
producer.deliver_messages if index % 10 == 0
end
ensure
# Make sure to send any remaining messages.
producer.deliver_messages
producer.shutdown
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment