Существует простое решение, которое заключается в том, чтобы просто создать новый поток и позволить ему выполнить работу, одна библиотека, которая может (или не может) помочь вам сделать это правильно, - https://github.com/tra/spawn.
Я никогда не использовал его сам, но я думаю, что он подойдет для ваших нужд.
Я люблю Eventmachine и использую его в большинстве своих проектов (рабочих или личных), но для того, чтобы он работал с рельсами, требуется больше работы, и вам все равно нужно быть очень осторожным с тем, какие библиотеки вы используете и как не блокировать реактор.
Обратите внимание, что вы также должны быть осторожны с шагами, если делаете что-либо блокирующее, но большинство современных библиотек построено так, чтобы не блокировать интерпретатор (по крайней мере, в 1.9)