【发布时间】:2015-04-24 14:55:33
【问题描述】:
我的 GoLang AppEngine 代码正在解压缩 ZIP 文件,然后将每个文件保存为 BlobStore 内容。我已经看到保存数据需要 30 多秒,然后失败并显示“API 错误 10(文件:FILE_NOT_OPENED)”。正在写入的未压缩文件的大小约为 1.5 兆字节。以下是从 Zip 阅读器复制到新 BlogStore 项目的代码:
func storeBlob(c appengine.Context, rc io.Reader, mimeType string) (appengine.BlobKey, error) {
c.Infof("Creating new blob of type: [%v]", mimeType)
var key appengine.BlobKey
w, err := blobstore.Create(c, mimeType)
if err != nil {
return "", err
}
c.Infof("Copying blob data")
_, err = io.Copy(w, rc)
if err != nil {
return "", err
}
c.Infof("Closing Blob")
err = w.Close()
if err != nil {
return "", err
}
c.Infof("Getting Blob Key")
key, err = w.Key()
if err != nil {
return "", err
}
return key, nil
}
生产应用引擎服务器锁定 30 秒,然后在 io.Copy 调用上报告错误。有关如何解决此问题的任何想法?
【问题讨论】:
标签: google-app-engine go