hi
Я собираюсь настроить rails-сайт, где после некоторого начального пользовательского ввода будут сделаны тяжелые вычисления (через c-extension для ruby будет использоваться многопоточность).так как эти вычисления будут занимать почти все процессорное время (и память), никогда не должно выполняться более одного вычисления одновременно.также я не могу использовать (асинхронные) фоновые задания (например, с отложенным заданием), так как рельсы должны показывать результаты этого расчета, а сайт должен работать без javascript.
, поэтому я предполагаю, что мне нужен отдельный процесс, где все экземпляры railsприходится ставить в очередь свои запросы на вычисления и ждать ответа (может быть, сообщение об ошибке, если очередь заполнена), что-то вроде синхронного менеджера заданий.
Кто-нибудь знает, есть ли гем / плагин с такой функциональностью?( nanite мне показалось довольно крутым, но, кажется, только асинхронным, поэтому экземпляры rails не будут знать, когда закончится вычисление. Это правильно?)
другая идея - написать свой собственный, используяраспределенный рубин (drb), но зачем изобретать колесо снова, если оно уже существует?
любая помощь будет оценена!
РЕДАКТИРОВАТЬ: из-за советов zaius я думаю, что я смогусделать это асинхронно, поэтому я собираюсь попробовать resque .