繁体   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