• Многопоточность и long polling в Ruby on Rails, почему засыпает главный поток?

    @raventid
    Насколько я понимаю вы просто пытаетесь установить временной лимит на запрос к бд. В конфиге Rails можно установить таймаут в 30 секунд :) Смотрите здесь . Еще можно будет поймать исключение по таймауту и отрендерить код ошибки и сообщение. Не вижу особого смысла в создании треда. Кстати, еще посмотрите на то как работает ActiveRecord и ее пул, она очень многие штуки умеет делать в том числе с участием потоков.

    Да, еще webrick однопоточный парень и лучше его не мучайте, для разработки установите thin.

    P.S. Я попробовал немного переписать ваш метод и запустить без рельс - все работает, и в целом логично :)
    Ответ написан
    3 комментария