http: error: ConnectionError: ("Соединение прервано", ошибка (32, "Сломанный канал")) при выполнении запроса POST к URL:
Я реализовал API, используя Falcon, он использует multipart/form для загрузки файла на мой сервер. Когда файл небольшой (~1 МБ), запрос POST работает нормально. Но когда файл большой (~20 МБ), POST завершается с ошибкой ниже.
Любой отзыв о том, как решить эту проблему?
Ошибка:
http: error: ConnectionError: ("Соединение прервано", ошибка (32, "Сломанный канал")) при выполнении запроса POST к URL: http::49160/api/upload
Это моя командная строка запроса: Использование httpie:
http -f POST http://111.111.111.111:49160/api/upload filename=video.mp4 file@/home/chacon/video.mp4
Это моя функция on_post:
def on_post(self, req, resp):
in_file = req.get_param('file')
in_video_name = in_file.filename
source_video_path = os.path.join("/tmp", in_video_name)
#working, but fails for large files
with open(source_video_path, 'wb') as source_video_file:
source_video_file.write(in_file.file.read())
Спасибо,
Carlos
1 ответ
Это была проблема с тайм-аутом рабочего-оружейника. когда вы запускаете gunicorn, вы можете указать время ожидания в качестве аргумента, чтобы увеличить его и дать достаточно времени для завершения загрузки файла