0
データストアから最大30kまでの名前空間のリストを取得しています。Google App Engine Datastoreタイムアウト例外
名前空間をフェッチする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());
}
}
何の問題だろうか?公式ドキュメントによると