#docker #google-app-engine #google-compute-engine #server-sent-events
#docker #google-app-engine #google-compute-engine #отправленные сервером события
Вопрос:
Когда я пытаюсь локально получить доступ к конечной точке событий, отправляемых сервером, она работает нормально и выдает данные каждые две секунды, когда я подключаюсь к виртуальной машине appengine по ssh, она также работает нормально (с использованием curl), но когда я пытаюсь получить доступ к конечной точке событий на стороне сервера извне appengine, я просто получаю тайм-ауты. Заблокированы ли события на стороне сервера в GAE? Я вижу, что websocket может быть проблематичным, но события на стороне сервера передаются через http.
Ответ №1:
Нет, события, отправляемые сервером, не блокируются в Google App Engine. Но поскольку в GAE по умолчанию включена буферизация, они никогда не дойдут до вас, поскольку запрос никогда не завершается. Отключите буферизацию с помощью этого заголовка в вашем ответе SSE:
X-Accel-Buffering: no
Подробнее читайте здесь: как обрабатываются запросы
Комментарии:
1. Привет @Pylinux, хорошая работа по поиску решения! Можете ли вы принять свой собственный ответ ? Это сделает его более заметным и поможет кому-то с той же проблемой, что и вы, найти решение. Спасибо!