Time_sequence_generator is a project mainly written in Ruby, it's free.
class TimeSequenceGenerator
#
def initialize(reference_time = Time.now, min = 1, max = 100) @min_period = min @max_period = max @times = [] generate(reference_time, @min_period, @max_period) end
# def next if @times.size == 1 generate(@reference_time, @min_period, @max_period) @times.shift elsif @times.size == 0 begin sleep(0.00000001) end until @times.size > 0 @times.shift else @times.shift end end
private
def generate(reference, min, max, n = 100) Thread.new do diff = max - min n.times do |i| reference = reference + min + rand(diff) @times << reference end @reference_time = @times.last end end end