google-app-engine - 访问数据存储时如何避免 "safety"over quota panic? (已启用计费)

标签 google-app-engine go google-cloud-datastore gae-quotas

我将我的网站部署到 Google App Engine(使用 Golang 和具有 1000 条记录的数据存储)。启用计费并建立每日预算。配额详细信息页面指示一切都在配额之下。我正在执行 Urlfetch 以获取用于在数据存储区中构建数据实体的 tsv 文件。

两个问题:

  1. 仅创建了 778 个实体 - 日志表明这是一个长时间运行的进程,但它似乎在没有错误消息的情况下提前终止。文档说这是正常的
  2. 第二步涉及从数据存储区中的实体创建一个 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/

相关文章:

google-app-engine - GAE 数据存储备份

带有服务帐户的 Google Apps API 403

mysql - 具有多个参数的 Golang 数据库/sql.DB.QueryRow

swift - Xcode 未检测 gomobile(绑定(bind))生成的框架上的架构

python - Google App Engine-Ajax 使用 python 从数据存储区刷新

python - 是否可以获得应用程序所有版本的列表?

java - 谷歌应用引擎 session

java - 我无法将基于教程的项目部署到 Google 应用程序引擎

python - 谷歌应用引擎如何正确部署应用程序

java - 在同一应用程序中使用 Google Data Store 和 Google App Engine