Lark
Lark is a simple system to store local cache in a cluster of redis servers, be able to query state about other lark nodes, and notice when one goes offline.
Lark.on_expire do |id|
Log.debug "Lost node #{id}"
end
EM.start do
lark = Lark.new "bottom_node.1", :expire => 60
lark.set "ip" => "127.0.0.1", "role" => "worker node"
EM::PeriodicTimer(5) do
lark.set "load" => get_load, "mem_usage" => get_mem_usage
end
on_some_event do
lark.find(/^top_node/).each do |id, data|
check_on_node(id, data)
do
end
end