У меня проблема с потоковой передачей больших gzip-ответов с использованием uWSGI.Мое приложение на Python работает с Flask / gevent на сервере uwsgi с плагином Python.
Я использую следующую команду для запуска сервера: uwsgi -L --http :80 --plugin python --wsgi-file main.py --callable app --processes 4
По конкретному GET-запросу серверначинает потоковую передачу на клиент
Content-Type: application/zip
Transfer-Encoding: chunked
Хотя некоторые запросы работают нормально и файл загружается на клиент, некоторые запросы получают «сетевую ошибку» на стороне клиента.на сервере я вижу следующую ошибку: SIGPIPE: writing to a closed pipe/socket/fd
Я уже пытался установить более длительные тайм-ауты, запуск моста Python через порт Unix (вместо HTTP) и некоторые другие настройки.Ничто не может решить эту проблему.При загрузке потока я вижу, что данные всегда передаются, они не зависают и не застревают в любой точке, и ошибка возникает внезапно без какого-либо изменения потока данных.Кроме того, загрузка одного и того же файла не выполняется в разное время - может произойти сбой через 100 МБ и через минуту после сбоя после загрузки 350 МБ.