Я пишу простое приложение для чата в Rails 3.1 - для учебных целей.
Для начала у меня есть все необходимые модели (сообщения, пользователи, комнаты и т. Д.), И все отлично работает.
Клиенты опрашивают сервер каждую минуту (например) и получают новые сообщения, если они есть.
Я хотел бы изменить простой опрос на длинный опрос и не могу понять, можно ли это сделать в том же приложении, или мне нужно создать какой-либо другой Push-сервер для длительного опроса.
Я много читал о EventMachine и изменил свое приложение rails на пользовательское, так как я хотел использовать EventMachine для механики, управляемой событиями. Я думал, что канал EventMachine пригодится для этого.
Клиент подключится и будет ждать сообщения в чате, и он получит сообщение только тогда, когда оно было отправлено в комнату.
Что я не могу понять, так это как я могу использовать экземпляр EventMachine :: Channel для всех моих клиентских подключений.
Возможен ли такой подход или я ошибаюсь?
Если возможно, я бы хотел, чтобы решение работало как отдельное приложение rails, размещенное на Heroku.