Я хочу включить некоторый механизм в реальном времени с участием PHP (бэкэнд) и JS (веб-интерфейс). И SSE показался мне хорошим подходом, так как мне не нужны двунаправленные соединения.
Проблема, с которой я сталкиваюсь, заключается в том, что Google App Engine буферизирует ответ PHP, прерывая использование flush (), что мешает мне построить сервер SSE.
Кто-нибудь знает, как заставить GAE НЕ буферизовать ответ? использовать потоковые «сокеты» альтернатива, которая доказана для работы под GAE? Я пытался использовать каналы, но это сопряжено с большими трудностями, так как мое приложение полностью построено на основе PHP, и единственное, чего я хочу, — это добавить некоторые функции уведомлений в реальном времени. И наличие двух языков, сосуществующих в одном проекте, тоже имеет свою сложность.
Любой ответ, предложение, вклад или отзыв будут оценены по достоинству.
Такие технологии, как отправленные сервером события и веб-сокеты, не будут работать в App Engine по своему замыслу. Все внешние запросы в App Engine ограничены временем выполнения 60 секунд, задачами — десять минут. Таким образом, даже если вы оставите соединение с клиентом открытым (как для событий, отправленных сервером), оно будет закрыто через 60 секунд. Если бы вы могли открыть подключение через веб-сокет к задаче (что вы не можете), она была бы закрыта через десять минут.
Альтернативы:
Других решений пока нет …