【发布时间】:2013-08-14 23:09:53
【问题描述】:
我有一个 Google App Engine cron 作业经常(但并非总是)失败,因为已达到 java servlet 的最大重试次数。 Google App Engine 应用程序可以正常工作。
我的 servlet 如下所示,它通常会达到“重试次数过多”点,但并非总是如此。
它计划每隔几个小时运行一次,它似乎可能由于等待应用程序的实例启动而失败,但我不确定。
我该如何解决这个问题?只是增加重试次数?如何调试才能知道导致“重试次数过多”的原因是什么?
public class SomeServlet extends BaseServlet {
private static final String HEADER_QUEUE_COUNT = "X-AppEngine-TaskRetryCount";
...
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String retryCountHeader = req.getHeader(HEADER_QUEUE_COUNT);
if (retryCountHeader != null) {
int retryCount = Integer.parseInt(retryCountHeader);
if (retryCount > 10) {
logger.severe("Too many retries, dropping task...");
taskDone(resp);
return;
}
}
...
}
【问题讨论】:
标签: java google-app-engine cron