Подтвердить что ты не робот

Как интегрировать EventMachine & Rails?

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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