Поскольку вы работаете с rails, я бы посоветовал вам использовать delayed_job для этого, а не разбивать на потоки или вилки. Причина в том, что работа с таймаутами и прочее, когда браузер ждет, может быть настоящей болью. Есть два подхода, которые вы можете использовать с DJ
Первый - порождение 50+ рабочих. В зависимости от вашей среды это может быть довольно трудоемким решением, но оно прекрасно работает. Затем, когда вам нужно выполнить свою работу, просто убедитесь, что вы создали 50 уникальных рабочих мест. Если в памяти слишком много памяти и вы хотите что-то делать таким образом, создайте отдельную среду, которая будет урезана специально для ваших работников.
Второй способ - создать отдельное задание, которое использует Curl :: Multi для выполнения ваших 50 одновременных TCP-запросов. Вы можете узнать больше об этом здесь: http://curl -multi.rubyforge.org / Таким образом, у вас может быть один фоновый процессор, выполняющий все ваши TCP-запросы параллельно.