Пытаюсь сделать SSE (Server Send Events) на БУС под VMBitrix, но, похоже, не хватает понимания работы буферизации. Обычная конструкция из примеров для SSE для отдачи буфера типа ob_end_flush и flush не работает, судя по тому, что пишут знающие люди, из-за настроек nginx gzip on - нужно off.
Ок, попробовал на всякий случай flush из битрксовского класса HttpResponse - буфер отдает, но сразу же после получения данных браузер получает в EventSource и событие error, которое, видимо, говорит о том, что сервер разорвал соединение. Есть подозрение, что несколько раз HttpResponse::flush в одном скрипте отдавать буфер вообще не будет. Стоит ли дальше экспериментировать и копаться в HttpResponse, надеясь найти в его коде секрет отдачи буфера при nginx gzip on и заставить его отдавать буфер браузеру в цикле? Или не стоит тратить время, а для SSE завести отдельный чахленький сервер чисто для двух скриптов - получить данные с основного , положить в БД и отдавать из БД в EventSource браузеров пользователей? Настройки nginx основного менять не хочется.