class Wukong::Load::SourceDriver

Attributes

batch_size[RW]
index[RW]

Public Class Methods

start(label, settings={}) click to toggle source
# File lib/wukong-load/source_driver.rb, line 14
def self.start(label, settings={})
  driver = new(:foobar, label, settings)
  driver.post_init

  period = case
  when settings[:period]  then settings[:period]
  when settings[:per_sec] then (1.0 / settings[:per_sec]) rescue 1.0
  else 1.0
  end
  driver.create_event
  EventMachine::PeriodicTimer.new(period) { driver.create_event }
end

Public Instance Methods

create_event() click to toggle source
# File lib/wukong-load/source_driver.rb, line 27
def create_event
  receive_line(index.to_s)
  self.index += 1
  finalize_dataflow if self.batch_size && (self.index % self.batch_size) == 0
end
post_init() click to toggle source
Calls superclass method
# File lib/wukong-load/source_driver.rb, line 8
def post_init
  super()
  self.index = 1
  self.batch_size = settings[:batch_size].to_i if settings[:batch_size] && settings[:batch_size].to_i > 0
end