我正在使用云任務異步處理 App Engine 請求:
<app-engine-instance>/request -> <task_queue>/longrunning_task
我意識到我正在復制很多代碼,比如資料庫模型。
一個更簡單的解決方案是,如果我可以向自己提出請求
<app-engine-instance>/request -> <app-engine-instance>/longrunning_task
這怎么可能?
uj5u.com熱心網友回復:
盡管重復代碼聽起來像是一個錯誤,但這是執行結合 AppEngine 和 Cloud Tasks 的操作的預期方式,尤其是對于較長的任務。
AppEngine 的請求限制為 60 秒,而 Cloud Tasks 不受此類限制。因此,正如 guillaume blaquiere 已經指出的那樣,如果您的長時間運行的任務花費的時間少于 60 秒,您可以從您的代碼中執行呼叫。否則,您必須使用 Cloud Task 來處理此處記錄的長時間運行的任務。
對于長時間運行的作業,我們建議使用Cloud Tasks。使用 Cloud Tasks,HTTP 請求是長期存在的,并且僅在任何異步作業結束后才回傳回應。
話雖如此,AppEngine 實體可以向自身發送請求。但值得注意的是,AppEngine 的請求可能不會發送到發起請求的同一實體,唯一會發生這種情況的情況是只有一個實體,通常這不是最佳實踐。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/416604.html
標籤:
上一篇:如何在GoogleAppEngine中的每個例外事件中獲得通知?
下一篇:多容器負載均衡器AWS的目標組
