【发布时间】:2017-03-25 20:50:26
【问题描述】:
我已经在我的应用引擎项目中执行了我的 WarmupServlet 的所有配置步骤,并且我看到它在启动时运行,但我仍然看到我的第一个端点调用是一个加载请求,它需要长达 25 秒,这绝对是不可接受的。我需要能够单独预热每个端点,这样就不会有加载请求。 (显然,仅仅设置一个预热 servlet 是不够的。)所以,我的问题是,我怎样才能在端点中调用一个方法,以便正确预热端点以从我的 WarmupServlet 提供服务?我在下面尝试但没有成功:
MyEndpoint me = new MyEndpoint();
me.getMyEntity(1L);
在哪里
@ApiMethod(name = "getMyEntity")
public MyEntity getMyEntity(@Named("id") Long id) {
EntityManager mgr = getEntityManager();
MyEntity myEntity = null;
try {
myEntity = mgr.find(MyEntity.class, id);
} finally {
mgr.close();
}
return myEntity;
}
【问题讨论】:
-
您为预热 servlet 遵循了哪些配置步骤?
-
你在运行前端实例吗?
-
是的,手动缩放
-
也许您可以尝试对端点进行真正的 http 调用,而不仅仅是创建对象。例如my-app...../getMyEntity
标签: java google-app-engine backend endpoint warm-up