class Tapsoob::Chunksize
Attributes
chunksize[R]
end_time[RW]
idle_secs[RW]
retries[RW]
start_time[RW]
time_in_db[RW]
Public Class Methods
new(chunksize)
click to toggle source
# File lib/tapsoob/chunksize.rb, line 7 def initialize(chunksize) @chunksize = chunksize @idle_secs = 0.0 @retries = 0 end
Public Instance Methods
calc_new_chunksize()
click to toggle source
# File lib/tapsoob/chunksize.rb, line 37 def calc_new_chunksize new_chunksize = if retries > 0 chunksize elsif diff > 3.0 (chunksize / 3).ceil elsif diff > 1.1 chunksize - 100 elsif diff < 0.8 chunksize * 2 else chunksize + 100 end new_chunksize = 1 if new_chunksize < 1 new_chunksize end
diff()
click to toggle source
# File lib/tapsoob/chunksize.rb, line 21 def diff end_time - start_time - time_in_db - idle_secs end
reset_chunksize()
click to toggle source
# File lib/tapsoob/chunksize.rb, line 17 def reset_chunksize @chunksize = (retries <= 1) ? 10 : 1 end
time_delta() { || ... }
click to toggle source
# File lib/tapsoob/chunksize.rb, line 30 def time_delta t1 = Time.now yield if block_given? t2 = Time.now t2 - t1 end
time_in_db=(t)
click to toggle source
# File lib/tapsoob/chunksize.rb, line 25 def time_in_db=(t) @time_in_db = t @time_in_db = @time_in_db.to_f rescue 0.0 end
to_i()
click to toggle source
# File lib/tapsoob/chunksize.rb, line 13 def to_i chunksize end