使用Django提供大文件时超出软内存限制

时间:2015-09-30 14:13:43

标签: python django google-app-engine

我不断击中"软私人记忆限制超过"尝试提供大型流视频文件时出现错误Appengine Instance(运行django 1.5)。

示例代码:

def stream_file(request, blob_key):
    blob_reader = blobstore.BlobReader(blob_key, buffer_size=1048576)
    content_type = 'video/mp4'

    return http.StreamingHttpResponse(blob_reader, content_type=content_type)

我的示例通过blobstore api提供,但我使用GCS Lib +构建我自己的生成器函数时遇到了同样的问题。

如何在不超出软内存限制的情况下有效地提供大型文件?

1 个答案:

答案 0 :(得分:1)

我注意到你正在将blob读入内存然后将其发送出去。你考虑过使用直接从blobstore发送的处理程序吗?

https://cloud.google.com/appengine/docs/python/blobstore/#Python_Serving_a_blob