История изменений
Исправление
Novator,
(текущая версия)
:
Тебе верно сказали - вызов потоков нужно делать внутри цикла:
lines = File.open("путь к файлу").readlines
lines.each do |ip|
Thread.new do
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
end
end
Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.
Исправление
Novator,
:
Тебе верно сказали - вызов потоков нужно делать внутри цикла:
lines = File.open("путь к файлу").readlines
lines.each |ip|
Thread.new do
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
end
end
Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.
Исправление
Novator,
:
Тебе верно сказали - вызов потоков нужно делать внутри цикла:
lines = File.open("путь к файлу").readlines
lines.each |ip|
Thread.new do
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
end
end
end
Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.
Исходная версия
Novator,
:
Тебе верно сказали - вызов потоков нужно делать внутри цикла:
lines = File.open("путь к файлу").readlines
lines.each |ip|
Thread.new do
begin
host = Net::Telnet::new("Host" => ip, "Timeout" => 5, \
"Waittime" => 2, "Prompt" => /[#>\]-]/)
host.close
ver = host.cmd("<требуемое действие>")
puts ver
rescue => err
$stderr.puts('Exception: '+err.message)
end
end
end
end
Если есть какой-то один ресурс, к которому нужно обращаться из разных потоков, то можешь ещё почитать про Mutex.