class Kafka::AsyncProducer::Timer

Public Class Methods

new(interval:, queue:) click to toggle source
# File lib/kafka/async_producer.rb, line 172
def initialize(interval:, queue:)
  @queue = queue
  @interval = interval
end

Public Instance Methods

run() click to toggle source
# File lib/kafka/async_producer.rb, line 177
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