Rails: мне нужны события, отправленные сервером. Должен ли я отказаться от Phusion Passenger?

В настоящее время у нас есть приложение для рельсов 3 (в процессе обновления до рельсов 4), и я хочу начать использовать ActionController::Live, чтобы играть с событиями, отправленными сервером, для некоторых обновлений в реальном времени для наших пользователей.

Мой вопрос: работает ли эта новая функциональность с Phusion Passenger из коробки? Все, что я читал, использует пуму, радугу или тонкий. Мне нравится, насколько прост Passenger для нашего развертывания, у меня даже возникнет соблазн купить корпоративную версию, но не в том случае, если мне потребуется настроить все, чтобы это заработало. Если мне нужно настроить все, я мог бы выбрать вариант с открытым исходным кодом.


person Matthew Sumner    schedule 16.08.2013    source источник
comment
кажется, ты еще не пробовал, не так ли?   -  person Mohammad AbuShady    schedule 16.08.2013
comment
Нет, потому что мы еще не обновились до rails 4. Я дам ему быстро пойти на разработку. Мне также было любопытно, будет ли каждое соединение поглощать экземпляр rails или каждый экземпляр может обрабатывать несколько соединений?   -  person Matthew Sumner    schedule 16.08.2013
comment
Это будет зависеть от настроек параллелизма. См. blog.phusion.nl/2013/03/ 12/   -  person Hongli    schedule 20.08.2013


Ответы (2)


События на стороне сервера отлично работают на Phusion Passenger. Я написал демо для вас. Проверьте https://github.com/phusion/passenger-ruby-server-side-events-demo

Хунли Лай,
технический директор Phusion
Разработчик Phusion Passenger

person Hongli    schedule 19.08.2013
comment
Идеальный. Продолжайте в том же духе, Хунли. И спасибо, что бегаете здесь, отвечая на вопросы! - person Matthew Sumner; 23.08.2013
comment
В этой демонстрации указаны директивы, доступные только в Enterprise. Есть ли какие-либо рекомендации для версии с открытым исходным кодом? - person Michael Pell; 02.04.2014
comment
Директивы Enterprise обеспечивают только оптимизацию параллелизма. Демо отлично работает и без них. - person Hongli; 02.04.2014
comment
Кажется, что он поддерживает поток для каждого соединения, есть ли возможность использовать для этого EventMachine или что-то подобное? - person Vladimir; 23.04.2014

Я хотел бы опубликовать решение Rails 4, с которым мне удалось без проблем работать, используя пассажира и перераспределение.

я использую ajax для ответа на публикацию событий из Redis, вы можете просто отправить полезную нагрузку данных.

Убедитесь, что у вас есть файл среды rails development.rb/production.rb.

  config.cache_classes = true

  config.eager_load = true

Вам не нужны puma, unicorn, goliath для SSE, чтобы пассажир обслуживал нормально.

Решение здесь

person Abs    schedule 06.06.2014