Должен ли я использовать StreamingHttpResponse или я просто должен отправить несколько запросов на сервер? - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю над проектом Django, и мне нужна помощь, чтобы решить, какую парадигму использовать. Я не знаю, как Django ведет себя в производстве, поскольку это первый проект, который я собираюсь выпустить.

В настоящее время я использую StreamingHttpResponse в Django наряду с JavaScript API-интерфейсами Fetch и ReadableStream для отправлять данные с сервера клиенту в течение длительного периода времени. Приложение работает так, что сервер отвечает за многократное выполнение симуляции (отдельно от Django), которая сообщает о своем прогрессе моему приложению Django. Когда клиент подключается, клиент отправляет запрос на Django для получения информации о прогрессе, и во время симуляции Django открывает поток (StreamingHttpResponse) и периодически отправляет эту информацию о ходе симуляции обратно клиенту, что затем показывает индикатор выполнения в браузере. Симуляция может занять несколько часов.

Я неопытный, поэтому способ, которым я протестировал это (с учетом сервера разработки), состоит в том, чтобы просто открыть тонну вкладок и указать их приложению. Django позволяет одновременно подключаться только шести из этих вкладок, и только когда поток закрывается для одной из вкладок, он позволяет подключаться остальным вкладкам.

Так что мой вопрос (-ы) (are) this (следующим образом (;): - рекомендуется ли мне продолжать использовать StreamingHttpResponse таким образом, или вместо этого я должен вместо этого отправлять периодический c запрос информации о ходе выполнения из браузера и заставлять сервер отвечать один раз каждый раз, когда он я могу найти только небольшую часть документации Django, в которой говорится, что

Django предназначен для кратковременных запросов. t ie рабочий процесс в течение всего периода ответа. Это может привести к снижению производительности.

, но я надеялся избежать того, что браузер будет контролировать отправку запросов, потому что тогда злоумышленники могут изменить интервал отправки запроса.

Кроме того, почему только 6 вкладок, это что-то вроде подражание моей машине, или это шесть жестко запрограммировано где-то на сервере разработки (потому что я не могу найти его ни в одном файле настроек)? будет ли разрешено больше соединений в производстве?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...