message bus fixes and diagnostics

This commit is contained in:
Sam Saffron
2013-02-08 19:13:36 +11:00
parent f28dc6115d
commit 36d1aafe1e
6 changed files with 204 additions and 93 deletions

32
lib/message_bus_diags.rb Normal file
View File

@@ -0,0 +1,32 @@
class MessageBusDiags
@host_info = {}
def self.my_id
@my_id ||= "#{`hostname`}-#{Process.pid}"
end
def self.seen_host(name)
@host_info[name] = DateTime.now
end
def self.establish_peer_names
MessageBus.publish "/server-name", {channel: "/server-name-reply/#{my_id}"}
end
def self.seen_hosts
@host_info
end
unless @subscribed
MessageBus.subscribe "/server-name-reply/#{my_id}" do |msg|
MessageBusDiags.seen_host(msg.data)
end
MessageBus.subscribe "/server-name" do |msg|
MessageBus.publish msg.data["channel"], MessageBusDiags.my_id
end
@subscribed = true
end
end