stack = Device.find_by_sql( "SELECT * from devices WHERE ip_address != ''" ) runner = PooledRunner.new(Dummy, stack.size, [], false) while stack.size > 0 do runner.run() do |handler| puts "hello" puts "Walking #{handler.ip_address} #{handler.device_id}" handler.walk puts "Success: #{handler.ip_address} #{handler.device_id}" #puts "Handler #{handler.inspect} total threads: #{runner.num_tasks}" sleep ( i.to_f / 20 ) stack.pop end end runner.wait_for_all