登录
首页 >  Golang >  Go问答

在 Google Cloud Run 上托管 go 程序并删除对传入 HTTP 请求的监听

来源:stackoverflow

时间:2024-02-20 13:06:27 349浏览 收藏

golang学习网今天将给大家带来《在 Google Cloud Run 上托管 go 程序并删除对传入 HTTP 请求的监听》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我编写了一个Go程序,默认情况下根本不需要检索外部http调用。我尝试将其部署在 Google Cloud Run 上,但收到以下错误:

用户提供的容器无法启动并侦听端口 由 PORT=8080 环境变量定义。对此的日志 修订版可能包含更多信息。

我知道发生这种情况是因为我的代码没有提供端口。正如这个答案所述:

容器必须侦听端口上传入的 HTTP 请求 由 Cloud Run 定义并在 $PORT 环境中提供 多变的

我的问题是,如果不想定义任何端口而只想运行我在本地运行的相同代码,我该怎么办?是否有替代解决方案可以在没有它的情况下部署我的代码,或者如果我想从 Cloud Run 运行代码,我必须添加它?


正确答案


对于不需要 HTTP 监听器(HTTP 服务器)的容器,请使用 Cloud Run Jobs。

  • Cloud Run Jobs 处于预览阶段。
  • 您的 Go 程序必须退出,退出代码为 0 表示成功,非零表示失败。
  • 您的容器不应侦听端口或启动网络服务器。
  • 环境变量与 Cloud Run 不同。
  • 容器实例一直运行,直到容器实例退出、达到任务超时或容器崩溃。任务超时默认为 10 分钟,最长为 1 小时。

Cloud Run - Create jobs

终于介绍完啦!小伙伴们,这篇关于《在 Google Cloud Run 上托管 go 程序并删除对传入 HTTP 请求的监听》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>