
Untitled
By: a guest on
Aug 1st, 2012 | syntax:
None | size: 0.73 KB | hits: 7 | expires: Never
def self.poll(array_of_ips)
EM.synchrony do
snmps = array_of_ips.collect {|x| SNMP4EM::Manager.new(:host => x, :version => :SNMPv1)} #, :port => 4444
concurrency = 50
@start_time = Time.now
EM::Synchrony::Iterator.new(snmps, concurrency).map do |snmp, iter|
request = snmp.get([OID_SYSDESC,OID_OID])
request.callback do |response|
puts "SysDesc = #{response[OID_SYSDESC]}"
puts "OID = #{response[OID_OID]}"
iter.return
end
request.errback do |error|
puts "GET got error #{error}"
iter.return
end
end
p Time.now - @start_time
p array_of_ips.length / (Time.now - @start_time)
EM.stop
end
end