2016-12-29 9 views
2

Я реализовал API с помощью Falcon, он использует multipart/form для загрузки файла в мой сервер. Когда файл небольшой (~ 1 МБ), запрос POST работает нормально. Но когда файл большой (~ 20 МБ), POST выходит из строя с ошибкой ниже.http: error: ConnectionError: ('Connection aborted.', Error (32, 'Broken pipe')) при выполнении запроса POST по адресу:

Любые отзывы о том, как исправить эту проблему?

Ошибка:

http: error: ConnectionError: ('Connection aborted.', error(32, 'Broken pipe')) while doing POST request to URL: http://...:49160/api/upload

Это мой запрос командной строки: Использование httpie:

http -f POST http://111.111.111.111:49160/api/upload filename=video.mp4 [email protected]/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

+0

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

+0

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

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^