LINUX.ORG.RU

История изменений

Исправление Novator, (текущая версия) :

Тогда пусть делает тупую задержку (sleep 1) или умную приостановку, пока N хостов в работе:

  N = 10
  $num = 0
  lines = File.open("путь к файлу").readlines
  lines.each do |ip|
    while $num >= N do
      sleep(0.2)
    end
    Thread.new do
      $num += 1
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        ver = host.cmd("<требуемое действие>")
        puts ver
        host.close
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
      $num -= 1
    end
  end

Исходная версия Novator, :

Тогда пусть делает тупую задержку (sleep 1) или умную приостановку, пока N хостов в работе:

  N = 10
  $num = 0
  lines = File.open("путь к файлу").readlines
  lines.each do |ip|
    while $num >= N do
      sleep(0.5)
    end
    Thread.new do
      $num += 1
      begin
        host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
          "Waittime" => 2, "Prompt" => /[#>\]-]/)
        ver = host.cmd("<требуемое действие>")
        puts ver
        host.close
      rescue => err
        $stderr.puts('Exception: '+err.message)
      end
      $num -= 1
    end
  end