Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 1st, 2012  |  syntax: None  |  size: 0.73 KB  |  hits: 7  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.   def self.poll(array_of_ips)
  2.     EM.synchrony do
  3.     snmps = array_of_ips.collect {|x| SNMP4EM::Manager.new(:host => x, :version => :SNMPv1)}    #, :port => 4444
  4.  
  5.    
  6.       concurrency = 50
  7.       @start_time = Time.now
  8.       EM::Synchrony::Iterator.new(snmps, concurrency).map do |snmp, iter|
  9.  
  10.         request = snmp.get([OID_SYSDESC,OID_OID])
  11.  
  12.         request.callback do |response|
  13.           puts "SysDesc = #{response[OID_SYSDESC]}"
  14.           puts "OID = #{response[OID_OID]}"
  15.           iter.return
  16.         end
  17.  
  18.         request.errback do |error|
  19.           puts "GET got error #{error}"
  20.           iter.return
  21.         end
  22.       end
  23.       p Time.now - @start_time
  24.       p array_of_ips.length / (Time.now - @start_time)
  25.       EM.stop
  26.     end
  27.   end