[英]Is it possible to increase the timeout for Google Cloud Datastore requests?
我們正在開發一個使用Google Cloud Datastore的應用程序(重要的細節):它不是gae應用程序! 一切正常工作正常。 我們設計了一個可提取30000條記錄的測試,但是當我們嘗試運行該測試時,出現以下錯誤:
java.net.SocketTimeoutException: Read timed out
我們發現30秒鍾后發生超時異常,因此可以解釋該錯誤。 我有兩個問題:
您可以使用與使用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.