Class: Kafka::AsyncProducer::Timer

Inherits:
Object
  • Object
show all
Defined in:
lib/kafka/async_producer.rb

Instance Method Summary collapse

Constructor Details

#initialize(interval:, queue:) ⇒ Timer

Returns a new instance of Timer.



184
185
186
187
# File 'lib/kafka/async_producer.rb', line 184

def initialize(interval:, queue:)
  @queue = queue
  @interval = interval
end

Instance Method Details

#runObject



189
190
191
192
193
194
195
196
197
# File 'lib/kafka/async_producer.rb', line 189

def run
  # Permanently sleep if the timer interval is zero.
  Thread.stop if @interval.zero?

  loop do
    sleep(@interval)
    @queue << [:deliver_messages, nil]
  end
end