2012-06-22 33 views
0

我难以理解谷歌AppEngine上的某些方面推送任务队列为Java,即,在执行任务时,哪里的响应去Google AppEngine任务队列响应去哪里?

如果我添加了一些队列是这样的:

Queue queue = QueueFactory.getDefaultQueue(); 
queue.add(withUrl("/worker").param("key", key)); 

然后晚些时候执行任务,像这样的东西:

public class SomeServlet extends HttpServlet { 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
     throws ServletException, IOException { 
    ... 
    resp.getWriter().println("something"); //-- where does this response go??? 
    } 
} 

很抱歉的新手问题,但在哪里呢这个反应呢?我的应用程序没有设置正常的http请求,因此它不会等待正常的http响应。我必须在任务队列中丢失一些基本的东西。

回答

5

响应不会去任何地方。在任务中,您通常会写入数据存储,向任务队列添加新任务,发送xmpp,调用外部URL。

如果响应代码是200 OK,任务从队列中删除,如果它是一个错误代码,它重试(根据重试设置)。

+0

您也可以在管理控制台中的“日志”选项卡中看到它所记录的内容。 –

0

没有文件指出GAE存储这些响应的位置。我不会惊讶GAE只需 不关心响应成功触发请求url后。

顺便说一句,我没有看到一个点,关心的响应。 如果您想记录任务执行期间发生的情况,则应该使用Log。 https://developers.google.com/appengine/docs/java/runtime#Logging

+0

嗯......也许你的第2段是整点:你从来没有真正在你真正关心的HTTP响应的方式使用它? HTTP响应仅由任务队列调解器thingy使用,以确定任务执行是否成功?你认为是吗? – aez

相关问题