class RedisBatchPush::Runner

Public Class Methods

new(redis_client, queue, max_size=nil, max_interval_sec=nil) click to toggle source
# File lib/redis_batch_push.rb, line 9
def initialize redis_client, queue, max_size=nil, max_interval_sec=nil
  @redis_client = redis_client
  @queue = queue
  @max_size = max_size
  @max_interval_sec = max_interval_sec
end

Public Instance Methods

run() { |data| ... } click to toggle source
# File lib/redis_batch_push.rb, line 16
def run &block
  getter = Getter.new(@redis_client, @queue)
  blk = Proc.new do |data|
    yield data
    getter.clear_backup
  end
  processor = Processor.new(blk, @max_size, @max_interval_sec)
  monitor = Monitor.new(getter, processor)
  monitor.run
end