Method: LS4::HeartbeatClientService#run

Defined in:
lib/ls4/service/heartbeat.rb

#runObject

def get_cs_session ProcessBus.get_session(ConfigBus.get_cs_address) end

def on_timer do_heartbeat end

def do_heartbeat sync_hash = SyncBus.get_hash get_cs_session.callback(:heartbeat, @heartbeat_nid, sync_hash) do |future| begin hbres = HeartbeatResponse.new.from_msgpack(future.get) ack_heartbeat(hbres) rescue $log.error “heartbeat error: #$!” $log.error_backtrace $!.backtrace end end end

def ack_heartbeat(hbres) if hbres.sync_needed SyncBus.try_sync end end

ebus_connect :ProcessBus, :on_timer

def heartbeat_blocking! do_heartbeat.join end



110
111
112
113
114
115
116
117
118
119
# File 'lib/ls4/service/heartbeat.rb', line 110

def run
  @cs = MessagePack::RPC::Client.new(*ConfigBus.get_cs_address)
  @end = false
  @thread = Thread.new do
    while !@end
      sleep 1
      do_heartbeat_blocking
    end
  end
end