Method: LS4::HeartbeatClientService#run
- Defined in:
- lib/ls4/service/heartbeat.rb
#run ⇒ Object
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 |