lib/ring/sqa/analyzer.rb in ring-sqa-0.1.1 vs lib/ring/sqa/analyzer.rb in ring-sqa-0.1.2

- old
+ new

@@ -15,9 +15,14 @@ sleep INFLIGHT_WAIT records = records.all @buffer.push records.map { |record| record.peer } @buffer.exceed_median? ? @alarm.set(@buffer) : @alarm.clear(@buffer) delay = INTERVAL-(Time.now-start) + # in case delay happens to be too big + if delay > INTERVAL + delay = INTERVAL + Log.warn "delay became larger than #{INTERVAL}, capping it. (did ntp just sync?)" + end if delay > 0 sleep delay else Log.error "Analyzer loop took longer than #{INTERVAL}, wanted to sleep for #{delay}s" end