簡體   English   中英

在 Google Cloud Run 上運行 go 程序而不監聽傳入的 HTTP 請求

[英]Running go program on Google Cloud Run without listening for incoming HTTP requests

我編寫了一個 Go 程序,默認情況下根本不需要檢索外部 http 調用。 我嘗試在 Google Cloud Run 上部署它並收到以下錯誤:

用戶提供的容器無法啟動和偵聽 PORT=8080 環境變量提供的端口。 此修訂的日志可能包含更多信息。

我理解這是因為我的代碼沒有提供端口。 正如這個答案所說:

容器必須在 Cloud Run 定義並在 $PORT 環境變量中提供的端口上偵聽傳入的 HTTP 請求

我的問題是,如果不想定義任何端口並且只想運行我在本地運行的相同代碼,我該怎么辦? 是否有替代解決方案可以在沒有它的情況下部署我的代碼,或者如果我想從 Cloud Run 運行代碼,我必須添加它?

對於不需要 HTTP 偵聽器(HTTP 服務器)的容器,請使用 Cloud Run Jobs。

  • Cloud Run Jobs 處於預覽階段。
  • 您的 Go 程序必須退出,退出代碼 0 表示成功,非零表示失敗。
  • 您的容器不應偵聽端口或啟動 web 服務器。
  • 環境變量與 Cloud Run 不同。
  • 容器實例一直運行,直到容器實例退出,直到任務超時,或者直到容器崩潰。 任務超時默認為 10 分鍾,最長為 1 小時。

Cloud Run - 創建工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM