我们遇到了重复的内存缓存错误。我看到一个“LogAndContinueErrorHandler”,因此请求不会失败但是它们需要花费大量时间才能完成。 有没有办法强制memcache的最大响应时间(像50ms?)。
com.google.appengine.api.memcache.LogAndContinueErrorHandler handleServiceError:memcache中的服务错误 com.google.appengine.api.memcache.MemcacheServiceException:Memcache getIdentifiables:获取多个键的异常 com.google.appengine.api.memcache.MemcacheServiceApiHelper $ RpcResponseHandler.handleApiProxyException(MemcacheServiceApiHelper.java:76) 在 com.google.appengine.api.memcache.MemcacheServiceApiHelper $ 1.absorbParentException(MemcacheServiceApiHelper.java:120) 在 com.google.appengine.api.utils.FutureWrapper.handleParentException(FutureWrapper.java:53) 在 com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:92) 在 com.google.appengine.api.memcache.MemcacheServiceImpl.quietGet(MemcacheServiceImpl.java:28) 在 com.google.appengine.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)
答案 0 :(得分:2)
通过设置create_rpc
方法的deadline
参数,可以通过简单的方法在Python中执行此操作。
对于Java来说不那么简单,因为MemcacheService不允许你设置ApiConfig
。
此article向您展示了如何为API包安装API挂钩。
之后,您应该能够通过设置com.google.apphosting.api.ApiProxy.api_deadline_key
环境变量来覆盖当前API调用的截止日期,就像SDK在ApiProxy.java中所做的那样
一旦激活RPC调用,不要忘记将其恢复为之前的值。