Method: UState::Aggregator#start
- Defined in:
- lib/ustate/aggregator.rb
#start ⇒ Object
Polls index for states matching each fold, applies fold, and inserts into index.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/ustate/aggregator.rb', line 57 def start @runner = Thread.new do loop do begin interval = (@interval.to_f / @folds.size) rescue @interval @folds.each do |f, query| matching = @index.query(Query.new(string: query)) unless matching.empty? case combined = f[matching] when State @index << combined when Array combined.each do |s| @index << s end end end sleep interval end rescue Exception => e @server.log.error e sleep 1 end end end end |