【问题标题】:Where does a Google AppEngine Task Queue response go?Google AppEngine 任务队列响应去哪里了?
【发布时间】:2012-06-23 05:42:40
【问题描述】:

我很难理解 Google AppEngine Push Task Queue for java 的某些方面,即在执行任务时,响应去哪里

如果我像这样在队列中添加一些东西:

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 响应。我一定遗漏了关于任务队列的一些基本内容。

【问题讨论】:

    标签: google-app-engine task-queue


    【解决方案1】:

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

    如果响应码为 200 OK,则任务从队列中移除,如果是错误码,则重试(取决于重试设置)。

    【讨论】:

    • 您还可以在管理控制台的“日志”选项卡中查看它记录的内容。
    【解决方案2】:

    没有说明 GAE 将这些响应存储在何处的文档。我不会让 GAE 感到惊讶 成功触发请求 url 后,不关心响应。

    顺便说一句,我认为没有必要关心响应。 如果你想记录任务执行过程中发生的事情,你应该使用 Log 代替。 https://developers.google.com/appengine/docs/java/runtime#Logging

    【讨论】:

    • 嗯...也许您的第二段就是重点:您从未真正以真正关心 HTTP 响应的方式使用它? HTTP响应仅由任务队列调解器使用来确定任务执行是否成功?你觉得是这样吗?
    猜你喜欢
    • 2017-04-17
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 2011-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多