Я провел несколько поисков в Google по этой теме, но не смог ничего найти (кроме подтверждения того, что AppEngine игнорирует вызовы 'resp.setHeader ("Transfer-Encoding", XXXX) ".
Моя проблема заключается в том, что у меня есть серверный процесс, который занимает немного времени (~ 3 секунды), но который выдает результаты в непрерывном потоке (то есть первый объект данных готов через 10 мс).
В настоящее время сервер буферизует ответ, а затем выкладывает весь лот клиенту для отображения. Хотя это работает, это не блестящий пользовательский опыт, поскольку пользователю приходится ждать, пока весь процессзакончить, прежде чем они смогут увидеть первые результаты ...
Я полагаю, что использование чанкованной передачи решит эту проблему, так как я смогу немедленно отправить первый ответ клиенту (и передать последующие данные каккак только он стал доступен), давая гораздо лучшее представление о прогрессе и т. д.
Моя проблема в том, что я не могу понять, как это сделать.Передача
Поиск в Google для чанкованной передачи, и механизм приложений в основном включает сообщения от людей, желающих отключить чанкованную передачу из blobstore, или сообщения о том, что чанковая передача включена по умолчанию.Тем не менее, мое тестирование на сегодняшний день показало, что, по крайней мере для моего приложения, это не так.
Аналогично, ссылки не-app-engine говорят о настройке заголовка контента 'Transfer-Encoding' - но этоявным образом игнорируется в AppEngine (по крайней мере, в соответствии с документацией по Python - не найдено ничего на стороне Java, что прямо заявляет об этом, но это также не сработало, когда я его проверял).
наконец,Я уже пытался очистить объект respose, получить средство записи и очистки, получить поток вывода ответа и сброс и т. Д. Без разницы.
Итак, мой вопрос: как включить чанк-передачу?