Sha256: 908e2263453519e17a99e7cdaaf6f7b443ec770618549c4c50be7b1891fb3b1a
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
require 'serverengine' module DummyLogGenerator module Worker def initialize reload end def reload @generator = Generator.new(config[:setting]) @rate = config[:setting].rate output = config[:setting].output if output.respond_to?(:write) and output.respond_to?(:close) @output = output else @output = open(output, (File::WRONLY | File::APPEND | File::CREAT)) @output.sync = true end end # thanks! ref. https://github.com/tagomoris/fluent-plugin-dummydata-producer/blob/a550fd4424f71cd9227e138c3c89f600ba40a0d5/lib/fluent/plugin/in_dummydata_producer.rb#L63 def run batch_num = (@rate / 9).to_i + 1 prev_data = {} while !@stop current_time = Time.now.to_i rate_count = 0 while !@stop && rate_count < @rate && Time.now.to_i == current_time batch_num.times do # ToDo: what if generation is slower than I/O? # We may should generate data and output in parallel prev_data = @generator.generate(prev_data) @output.write "#{@generator.format(prev_data)}\n" end rate_count += batch_num sleep 0.1 end # wait for next second while !@stop && Time.now.to_i == current_time sleep 0.04 end end ensure @output.close end def stop @stop = true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dummy_log_generator-0.1.0 | lib/dummy_log_generator/worker.rb |