Вы могли использовать хеш для отслеживания случайных чисел, которые Вы использовали до сих пор:
seen = {}
max = 100
(1..10).map { |n|
x = rand(max)
while (seen[x])
x = rand(max)
end
x
}
Размер пула применяется к одному процессу ruby. Некоторые интерпретаторы Ruby могут использовать потоки для обработки нескольких запросов, например jRuby. Размер пула применяется для этого одного процесса и всех потоков.
Passenger не использует потоки, а вместо этого создает новые процессы Ruby.