這可能是這個問題的錯誤位置,所以如果有必要,請重新引導我。
我使用 Google Cloud Functions 部署了幾個簡單的函式,這些函式的作用如下:
我已經部署了幾個簡單的函式。
- 從 AWS 讀取檔案并寫入云 SQL 。
- 匯總云SQL資料并將csv檔案寫入云存盤桶 在匯總的資料上建立簡單的OLS預測模型。
我將這些作為獨立的函式,因為(1)經常需要比云函式的最大超時時間更長。正因為如此,我正在考慮將這整個事情轉移到App Engine作為一項服務。我關于App Engine標準的問題是:
- 請求超時是什么意思?如果我運行這項服務,我是否仍有一個短暫的時間限制,之后它將不再運行?
- 對于這項任務,App Engine是最好的選擇嗎?
感謝您的所有幫助
uj5u.com熱心網友回復:
根據Google檔案,GAE標準對http請求的最大超時為1分鐘,對舊環境的cron/tasks為10分鐘。較新的環境中,http請求和cron/tasks的超時都是10分鐘。如果您的功能需要的時間超過這些,那么GAE標準將不適合您。在這種情況下,你應該看看GAE Flex--請看這個谷歌檔案,它將Flex與標準進行了比較)。
其次,在我看來,你所擁有的是只偶爾或在特定的計劃時間被點擊的端點。如果是這樣的話,我還建議你看看Cloud Run。我們有一篇關于它的博客文章,我們有這樣的文章
。....關于 Cloud Run 的另一件事是,它只在收到 HTTP 請求時運行。當有HTTP請求進入時,它就會裝死,然后活過來執行你的代碼。當它執行完請求后,它會再次 "死亡",直到有下一個請求進來。這意味著你不需要為閑置的時間付費,也就是說,當它不做任何事情的時候....
。uj5u.com熱心網友回復:
CodePudding
- 您可以保留您的云函式以及3個函式中每個函式所實作的強大內聚力,然后您可以使用云作業流這一無服務器解決方案來協調3個CF呼叫。缺點:您需要為 3 個 CF 呼叫和 3 個作業流步驟付費。但這有什么關系嗎?因為200萬次CF呼叫是免費的,5000個作業流步驟是免費的。
- 正如 @NoCommandLine 提出的那樣,Cloud Run 確實是一個替代方案,其超時時間為 3600s(1h)。缺點:你需要將你的代碼包裹在一個http請求中,并提供一個web服務器,如Express或gunicorn。
- 一個方法是為您的代碼建立一個 docker 容器,不需要網路服務器,并使用 Cloud Build 來運行它,其超時時間為 24 小時。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/317566.html
標籤:
