我将我的网站部署到 Google App Engine(使用 Golang 和具有 1000 条记录的数据存储)。启用计费并建立每日预算。配额详细信息页面指示一切都在配额之下。我正在执行 Urlfetch 以获取用于在数据存储区中构建数据实体的 tsv 文件。
两个问题:
- 仅创建了 778 个实体 - 日志表明这是一个长时间运行的进程,但它似乎在没有错误消息的情况下提前终止。文档说这是正常的
- 第二步涉及从数据存储区中的实体创建一个 json 文件。这个过程会导致“ panic :超配额”,因为我想这个过程花费的时间太长了。
我该如何进行?我应该将 tsv 数据文件分成几个较小的文件吗?我可以请求“更多时间”以免超过安全配额吗?
需要注意的是,开发人员控制台的数据存储部分出现了一些问题: 尽管我的应用程序可以访问 778 个数据存储实体,但控制台仅报告了 484 个此类实体,总共只有 704 个各类实体(实际是 933 个)
我已经在这方面工作了一段时间,想知道系统是否正在发生某些事情,或者我可以做些什么来正确设置我的数据实体。我也希望我能找到更多关于安全配额的信息…… ...并让远程 api 工作!谢谢!
最佳答案
这实际上取决于您在 Appengine 平台内的什么地方为这两个用例执行此处理。
例如,如果您正在为要在前端实例中处理的文件执行 urlfetch,那么您有 60 秒的时间来完成所有这些处理。 App Engine 要求前端实例在 60 秒内响应每个请求。
我假设这就是您正在做的事情,因为您的请求正在终止。要绕过这个时间限制,您应该将这种类型的批处理数据移动到任务队列中,每个任务都需要在 10 分钟内完成。
您的阅读也是如此。您需要查看如何从数据存储读取数据,或者需要使用延迟任务或管道对其进行批处理。
关于如何编写 json,您有可以分享的片段吗?
关于google-app-engine - 访问数据存储时如何避免 "safety"over quota panic? (已启用计费),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29320807/