我的任務超過了任務隊列超過10分鐘的最後期限。通過不同的文檔,我發現使用模塊我可以運行一個實例來處理長時間運行的任務,但最好甚至應該使用任務隊列來完成。我曾經使用後端,但它們已被棄用。如何在Google App Engine中使用模塊並使用任務隊列(Java)向其添加目標?
我的問題是如何將模塊引入到我現有的App Engine項目中,以及如何使用它們來運行長時間運行的任務?
以下是一段代碼:
Queue queue = QueueFactory.getQueue("myqueue");
TaskOptions task = TaskOptions.Builder.withUrl("/submitworker").method(Method.POST);
queue.add(task);
我有什麼變化,上面的代碼,以增加使用一個模塊一個長時間運行的任務? [在「submitworker」是一個servlet這是實際的長期運行的任務]
我曾提到this鏈接,但我無法與第三步得到解決:
3.添加服務聲明元素的AppEngine上-application.xml文件。
此外,即使我成功地將模塊添加到我的項目中,如何使用任務隊列定位此模塊?
我已經通過this的問題,但它是一個python實現,我的實現是在Java中。
我正在尋找一個如何在模塊中使用「目標」以及如何在添加到任務隊列時使用它的分步過程。
即使我將長時間運行的模塊目標添加到任務隊列,仍然會在10分鐘後終止執行,或者即使任務隊列中的任務過期,它是否會完成任務?
請建議。
謝謝......!我遵循了指南併成功地在應用引擎中創建了一項新服務。在queue.xml中也添加了,但是有什麼辦法可以知道這個任務真的是在後臺執行的,我有一個代碼顯示了有關任務的不斷更新,但是更新值沒有在前端,可能是什麼問題?另外,10分鐘後,任務消失,即使它從任務隊列中消失,任務仍在後端實例上執行嗎? –
您可以在雲控制檯中查看任務的重試狀態,並且如果您想記錄該請求,則可以在請求中以標題的形式訪問重試計數。您可以在雲日誌查看器中查看按服務細分的日誌,以查看發生的情況。任務不應該消失,除非它成功或超過了重試次數。另外,當問題解決時,不要忘記接受最好的答案 - 它可以幫助每個人。 – Nick
謝謝@尼克!答案幫助我瞭解了應用程序引擎中的服務和模塊,並使我的概念清晰明瞭。 –