class CC::Kafka::Producer::Poseidon
Public Class Methods
new(host, port, topic, client_id)
click to toggle source
# File lib/cc/kafka/producer/poseidon.rb, line 7 def initialize(host, port, topic, client_id) @brokers = ["#{host}:#{port}"] @topic = topic @client_id = client_id end
Public Instance Methods
close()
click to toggle source
# File lib/cc/kafka/producer/poseidon.rb, line 20 def close producer.close end
send_message(message, key)
click to toggle source
# File lib/cc/kafka/producer/poseidon.rb, line 13 def send_message(message, key) Kafka.logger.debug("sending message direct via Poseidon") producer.send_messages([ ::Poseidon::MessageToSend.new(@topic, message, key) ]) end
Private Instance Methods
producer()
click to toggle source
# File lib/cc/kafka/producer/poseidon.rb, line 26 def producer @producer ||= ::Poseidon::Producer.new( @brokers, @client_id, compression_codec: :gzip, required_acks: -1, ) end