Method: Ring::SQA::Sender#run

Defined in:
lib/ring/sqa/poller/sender.rb

#runObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ring/sqa/poller/sender.rb', line 8

def run
  udp = udp_socket
  loop do
    loop_start = Time.now
    @nodes.all.each do |node, _|
      query node, udp
      sleep INTER_NODE_GAP
    end
    duration = Time.now-loop_start
    if duration < INTERVAL
      sleep INTERVAL-duration
    else
      Log.warn "Send loop took longer than #{INTERVAL}s"
    end
  end
  udp.close
end