Как правильно реализовать SSE в RAILS?
С SSE есть нюанс, если используете не событийный сервер приложений (unicorn, puma и тд), то каждый запрос будет блокировать один из потоков/процессов. Со временем они закончатся и выполнение всего встанет на ожидании БД либо еще чего блокирующего.
Лучше всего использовать Thin, он построен на EventMachine и не вызывает блокирования внешнего запроса, но может быть заблокирован запросом к БД.
У себя делал такую связку:
Sinatra + Sinatra-SSE монтируется в Rails для приема подключений. Слушание событий (PG, Redis и тд) делается на EM совместимых клиентах. И заводится некоторый менеджер подключений который будет рассылать данные.
Как-то так.
Есть вот такой вариант