gpt4 book ai didi

java - 是否可以增加 Google Cloud Datastore 请求的超时时间?

转载 作者:行者123 更新时间:2023-12-02 05:28:36 25 4
gpt4 key购买 nike

我们正在开发一个使用 Google Cloud Datastore 的应用程序,重要细节:它不是 gae 应用程序!正常使用一切正常。我们设计了一个获取超过 30000 条记录的测试,但是当我们尝试运行该测试时,出现以下错误:

java.net.SocketTimeoutException: Read timed out

我们发现 30 秒后发生超时异常,因此这可以解释该错误。我有两个问题:

  • 有没有办法增加这个超时时间?
  • 是否可以使用分页来查询数据存储?我们发现,当您有 aep 应用程序时,您可以使用光标,但我们的应用程序不能。

最佳答案

您可以按照与使用数据存储的 GAE 应用程序完全相同的方式使用游标。看看this page for info

特别是,ResultQueryBatch 对象具有 .getEndCursor() 方法,您可以在使用 重新发出 Query 时使用该方法>setStartCursor(...)。这是上面页面中的代码片段:

Query q = ...
if (response.getBatch().getMoreResults() == QueryResultBatch.MoreResultsType.NOT_FINISHED) {
ByteString endCursor = response.getBatch().getEndCursor();
q.setStartCursor(endCursor);
// reissue the query to get more results...
}

您绝对应该使用游标来确保获得所有结果。 rpc 对时间有额外的限制,例如 rpc 总大小,因此您不应依赖单个 rpc 来回答整个查询。

关于java - 是否可以增加 Google Cloud Datastore 请求的超时时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com