从Heroku流式传输大文件在30秒超时后失败



我有一个python web工作程序,它可以根据客户端请求流式传输一个大文件。30秒后,Heroku终止连接。我正在使用web.py并产生新的输出。根据Heroku文档:

Cedar支持HTTP1.1特性,如长轮询和流式响应。应用程序有一个初始的30秒窗口,用一个字节返回客户端进行响应。但是,此后传输的每个字节(从客户端接收或由应用程序发送)都会重置一个滚动的55秒窗口。如果在55秒窗口期间没有发送任何数据,则连接将终止。

我每55秒发送一个字节,但连接仍然终止。

这些是我使用的标题

web.header('Content-type' , 'application/zip')
web.header('Content-Disposition', 'attachment; filename="images.zip"')

我甚至试着添加:

web.header('Transfer-Encoding','chunked')

我做错什么了吗?

问题似乎是由于gunicorn设置不正确造成的。在Procfile中延长gunicron超时成功:

--timeout 300

相关内容

  • 没有找到相关文章

最新更新