1

我们遇到了重复的内存缓存错误。我看到一个“LogAndContinueErrorHandler”,所以请求不会失败,但它们需要很长时间才能完成。有没有办法强制 memcache 的最大响应时间(大约 50 毫秒?)。

com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError:memcache com.google.appengine.api.memcache.MemcacheServiceException 中的服务错误:Memcache getIdentifiables:异常在 com.google.appengine.api.memcache.MemcacheServiceApiHelper$RpcResponseHandler com.google.appengine.api.memcache.MemcacheServiceApiHelper 的 .handleApiProxyException(MemcacheServiceApiHelper.java:76)$1.absorbParentException(MemcacheServiceApiHelper.java:120) com.google.appengine.api.utils.FutureWrapper.handleParentException(FutureWrapper.java: 53) 在 com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java:28) 在 com.google.appengine 的 com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:92) .api.memcache.MemcacheServiceImpl。getIdentifiables(MemcacheServiceImpl.java:61) 在 com.googlecode.objectify.cache.EntityMemcache.getAll(EntityMemcache.java:215) 在 com.googlecode.objectify.cache.CachingAsyncDatastoreService.get(CachingAsyncDatastoreService.java:253) 在 com.googlecode .objectify.cache.CachingAsyncDatastoreService.get(CachingAsyncDatastoreService.java:216) 在 com.googlecode.objectify.cache.CachingDatastoreService.get(CachingDatastoreService.java:137) 在 siena.gae.GaePersistenceManager.get(GaePersistenceManager.java:2146) 在siena.core.batch.BaseBatch.get(BaseBatch.java:60)cache.CachingAsyncDatastoreService.get(CachingAsyncDatastoreService.java:216) 在 com.googlecode.objectify.cache.CachingDatastoreService.get(CachingDatastoreService.java:137) 在 siena.gae.GaePersistenceManager.get(GaePersistenceManager.java:2146) 在 siena.core .batch.BaseBatch.get(BaseBatch.java:60)cache.CachingAsyncDatastoreService.get(CachingAsyncDatastoreService.java:216) 在 com.googlecode.objectify.cache.CachingDatastoreService.get(CachingDatastoreService.java:137) 在 siena.gae.GaePersistenceManager.get(GaePersistenceManager.java:2146) 在 siena.core .batch.BaseBatch.get(BaseBatch.java:60)

4

1 回答 1

2

deadline通过设置方法的参数,在 Python 中有一种简单的方法可以做到这一点create_rpc

对于 Java 来说就不那么简单了,因为 MemcacheService 不允许你设置一个ApiConfig.

本文将向您展示如何为 API 包安装 API 挂钩。

之后,您应该能够通过设置com.google.apphosting.api.ApiProxy.api_deadline_key环境变量来覆盖当前 API 调用的截止日期,就像 SDK 在ApiProxy.java中所做的那样

触发 RPC 调用后,不要忘记将其恢复为之前的值。

于 2012-08-10T13:44:29.387 回答