Class: Kafka::MultiProducer

Inherits:
Object
  • Object
show all
Includes:
IO
Defined in:
lib/kafka/multi_producer.rb

Constant Summary

Constants included from IO

IO::HOST, IO::PORT

Instance Attribute Summary

Attributes included from IO

#compression, #host, #port, #socket

Instance Method Summary collapse

Methods included from IO

#connect, #disconnect, #read, #reconnect, #write

Constructor Details

#initialize(options = {}) ⇒ MultiProducer

Returns a new instance of MultiProducer.



19
20
21
22
23
24
# File 'lib/kafka/multi_producer.rb', line 19

def initialize(options={})
  self.host = options[:host] || HOST
  self.port = options[:port] || PORT
  self.compression = options[:compression] || Message::NO_COMPRESSION
  self.connect(self.host, self.port)
end

Instance Method Details

#multi_push(producer_requests) ⇒ Object



31
32
33
# File 'lib/kafka/multi_producer.rb', line 31

def multi_push(producer_requests)
  self.write(Encoder.multiproduce(producer_requests, compression))
end

#push(topic, messages, options = {}) ⇒ Object



26
27
28
29
# File 'lib/kafka/multi_producer.rb', line 26

def push(topic, messages, options={})
  partition = options[:partition] || 0
  self.write(Encoder.produce(topic, partition, messages, compression))
end