2012-06-22 63 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

相關問題