内存泄漏导致 nginx 烧瓶中的 bu stringio
Posted
技术标签:
【中文标题】内存泄漏导致 nginx 烧瓶中的 bu stringio【英文标题】:memory leak caused bu stringio in flask with nginx 【发布时间】:2018-08-10 10:33:28 【问题描述】:@app.route('/')
def index():
strIO = StringIO.StringIO()
strIO.write('Hello from Dan Jacob and Stephane Wirtel !')
strIO.seek(0)
return send_file(strIO,
attachment_filename="testing.txt",
as_attachment=True)
在上面的代码中,我们可以使用StringIO来避免在下载的时候使用临时文件,但是当文件很大的时候,我们可以发现,如果我们多次下载,这个进程的内存是在增加的,而且内存不会减少.
有人知道如何解决这个问题吗?谢谢!
【问题讨论】:
【参考方案1】:StringIO.close()
或在 Python 3.x 上使用 with
语句。
【讨论】:
服务器返回后应该释放内存,所以我不能使用'StingIO.close()'或with
,否则会导致下载失败。以上是关于内存泄漏导致 nginx 烧瓶中的 bu stringio的主要内容,如果未能解决你的问题,请参考以下文章