簡體   English   中英

Google Appengine數據存儲超時異常

[英]Google Appengine Datastore Timeout Exception

我們正在從最多30k的數據存儲中獲取名稱空間列表。

提取名稱空間的cron每天運行。 但是有一天它可以正常工作,而另一天它會拋出數據存儲超時異常。

com.google.appengine.api.datastore.DatastoreTimeoutException:數據存儲操作超時,或者數據暫時不可用。

相關代碼:

DatastoreService ds = DatastoreServiceFactory.getDatastoreService();
FetchOptions options = FetchOptions.Builder.withChunkSize(150);
Query q = new Query(Entities.NAMESPACE_METADATA_KIND);

for (Entity e : ds.prepare(q).asIterable(options)){
   // A nonzero numeric id denotes the default namespace;
   // see Namespace Queries, below
   if (e.getKey().getId() != 0){
      continue;
   }else{
      namespaces.add(e.getKey().getName());
   }
}

可能是什么問題?

根據官方文件:

數據存儲操作超時時,將引發DatastoreTimeoutException。 當您嘗試放置,獲取或刪除太多實體或具有太多屬性的實體,或者數據存儲區過載或出現問題時,可能會發生這種情況。

這意味着數據存儲在處理您的請求時遇到麻煩。 嘗試處理該錯誤,例如:

import com.google.appengine.api.datastore.DatastoreTimeoutException;    
    try {
      // Code that could result in a timeout
    } catch (DatastoreTimeoutException e) {
      // Display a timeout-specific error page
    }

暫無
暫無

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

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