Как интегрируются EventMachine & Rails? - PullRequest
28 голосов
/ 26 августа 2010

Я нашел много статей, показывающих мне, что такое EventMachine и как настроить бесконечный Hello World!примеры, но я все еще в растерянности относительно того, как это интегрируется с моим приложением Rails.

Например, у меня есть существующее приложение Rails, в котором есть много одновременно работающих пользователей, которые могут редактировать одну и ту же строку в моемБаза данных одновременно.Я думал, что разрешу загружать запись двум (или более) разным людям, но уведомлю этих пользователей, если запись была обновлена, и заставлю последних согласовать любые конфликтующие изменения перед сохранением ее обратно в базу данных.Я думал, что смогу обработать уведомления и согласования, используя Javascript на стороне клиента и веб-сокеты (или flashsockets) для связи с браузером (в случае, если другой пользователь обновляет запись - например, push-уведомление или что-то в этом роде).

Последняя часть привела меня к EventMachine, но, как показывает мой начальный вопрос, я не знаю, как интегрировать это в мое Rails-приложение.

Кто-нибудь может дать мне некоторое представление об этом (например, хорошую точку зрения на макроуровне) или указать мне на некоторые хорошие ресурсы?(Кроме вики EventMachine , как я там уже был).

Ответы [ 2 ]

16 голосов
/ 04 ноября 2011

Я потратил немало времени на изучение этого вопроса.EventMachine должен работать как нить в вашей установке rails (если вы не используете Thin,), и для Пассажира есть некоторые особые соображения.Я написал нашу реализацию здесь: http://www.hiringthing.com/2011/11/04/eventmachine-with-rails.html

5 голосов
/ 26 августа 2010

Я думаю, этот пример некоторых асинхронных настроек Rails может также помочь вам в исследовании использования функций, подобных EventMachine, в приложениях.Однако он не полностью связан с самим EventMachine.

...