簡體   English   中英

是否可以增加Google Cloud Datastore請求的超時時間?

[英]Is it possible to increase the timeout for Google Cloud Datastore requests?

我們正在開發一個使用Google Cloud Datastore的應用程序(重要的細節):它不是gae應用程序! 一切正常工作正常。 我們設計了一個可提取30000條記錄的測試,但是當我們嘗試運行該測試時,出現以下錯誤:

java.net.SocketTimeoutException: Read timed out

我們發現30秒鍾后發生超時異常,因此可以解釋該錯誤。 我有兩個問題:

  • 有沒有辦法增加這個超時時間?
  • 是否可以使用分頁查詢數據存儲區? 我們發現,當您擁有一個aep應用程序時,可以使用光標,但不能使用光標。

您可以使用與使用Datastore的GAE應用完全相同的方式來使用游標。 查看此頁面以獲取信息

特別是, ResultQueryBatch對象具有.getEndCursor()方法,當您使用setStartCursor(...)重新發出Query時,可以使用該方法。 這是上一頁的代碼片段:

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來回答整個查詢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM