处理 Cloud Run 容器关闭

2024-05-05

在编写 Cloud Run 服务时,我们开发一个容器来监听PORT用于处理传入 HTTP 请求的环境变量。容器的实例会启动并处理请求,然后在完成原始请求后存活一段时间,以防有更多请求到达。如果没有进一步的请求,GCP关闭容器。我在这方面有一个问题。

集装箱内是否有钩子、信号或其他指示表明集装箱正在关闭?

在我的示例中,我的容器想要干净地结束。也许它想要关闭连接或执行一些快速刷新缓存。


Cloud Run 上的精彩问答已找到 FAQhere https://github.com/ahmetb/cloud-run-faq。该常见问题解答中有一个项目内容如下:

Cloud Run 服务的终止信号是什么?

现在, Cloud Run 终止容器,同时使用 unix 信号缩放至零 9(信号杀死)。 SIGKILL 不可被应用程序捕获(捕获)。 因此,您的应用程序应该可以被突然终止。

相关且重要的条目还写道:

我的服务何时会缩减为零?

Cloud Run 不提供任何关于其将保留多长时间的保证 服务“热情”。这取决于容量和 Google 等因素 实施细节。

一些用户发现他们的服务保持热状态长达一个小时或更长时间。


Opinion

我觉得有趣的是这个故事似乎是直接发生的SIGKILL。如果我们以 Docker 作为容器环境的基础,我们可以阅读泊坞站 https://docs.docker.com/engine/reference/commandline/stop/这似乎是干净地停止容器的方法。在它自己的描述中说:

容器内的主进程会收到SIGTERM,之后 宽限期,SIGKILL。

这似乎表明对于normalDocker容器停止时,运行容器的进程会收到信号。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理 Cloud Run 容器关闭 的相关文章

随机推荐

  • 将两个相似的远程 git 存储库合并为一个

    我已经做了一些搜索并阅读了 git 书籍和网络上的一些地方 例如 git 但我找不到正确的方法来做到这一点 我有两个 git 存储库 位于两台不同的机器上 这些 git 存储库中的每一个都保存程序的配置 当您比较两个存储库时 配置的某些部分
  • android 表格内的可聚焦行

    我在 xml 中有一个 ScrollView 其中包括一个 TableLayout 我的问题是 每次我单击它时是否可以有一个可聚焦的行 这是我的 xml 代码
  • 有没有办法在两个 Visual Studio 实例之间拖放来复制文件?

    有没有办法在两个 Visual Studio 2008 实例之间复制文件 插件 设置还是其他什么 目前 将文件从一个实例拖动到另一个实例不会执行任何操作 鼠标显示该操作无效 右键单击文件并从实例 1 中选择 复制 然后粘贴到实例 2 中会导
  • 如何匹配特质实现者

    我有一个由某些结构实现的特征 我想编写一个模式匹配 可以处理每种可能的情况 trait Base struct Foo x u32 struct Bar y u32 impl Base for Foo impl Base for Bar f
  • 在 GitHub 上托管可执行文件?

    我想将可执行文件与我的源代码一起分发 我的源代码全部整齐地托管在 GitHub 上 是否可以将可执行文件和安装程序添加到我的 GitHub 项目页面 而不将它们添加到我的 git 存储库 请注意 由于某种原因 GitHub 停止了此功能 请
  • 如何使用 Spark 执行插入覆盖?

    我正在尝试将我们的 ETL Hive 脚本之一转换为 Spark 其中 Hive ETL 脚本维护一个表 其中需要在每晚新同步之前删除部分数据 Hive ETL 使用插入覆盖的方式将主表删除超过 3 天的数据 基本上创建一个临时表 其中的数
  • 支持多屏幕[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 支持多个屏幕和不同的屏幕密度必须注意
  • 计算集合中某种类型的对象并将其用作文本框中的字符串

    我想用集合中某种图形的 count 1 填充文本框 该集合是图形的通用列表 图形是某种类型的图形的实例 以下作品 txtName Text figures OfType
  • 为什么 LocationSettingsResult startResolutionForResult 不调用 onActivityResult?

    我看过这个问答LocationSettingsRequest 对话框 跳过 onActivityResult https stackoverflow com questions 31235564 locationsettingsreques
  • SharePoint DateTime 默认值尊重时区

    我有一个日期时间字段 仅限日期 它使用 今天的日期 作为默认值 但是 当用户将项目添加到列表时 选择的日期对应于 GMT 时区 因此 如果用户在 2012 年 2 月 22 日晚上 7 点 美国东部标准时间 添加项目 则默认值实际上将显示为
  • 修改rails ActiveAdmin gem中的BaseController

    我在 Rails 应用程序中使用 ActiveAdmin gem 如果我想添加一个适用于所有 activeadmin gem 的新的 before 过滤器 我该怎么做 我想我可以修改 ActiveAdmin 中的 BaseControlle
  • 如何在 django-tastypie 中获取授权用户对象

    我需要在水合物方法中获取授权用户对象 如下所示 class SalepointResource ModelResource def hydrate self bundle user bundle request user But reque
  • Go中funcappend的实现在哪里?

    我对 go 非常感兴趣 并尝试阅读 go 函数的实现 我发现其中一些函数没有实现 如追加或调用 The append built in function appends elements to the end of a slice If i
  • Twitter Bootstrap:仅将某些菜单项折叠到下拉菜单中

    我想知道如何创建 Twitter Bootstrapnavbar在调整浏览器窗口大小时折叠该菜单中的项目 一次折叠一个或两个项目 我见过的大多数导航栏都将整个导航栏折叠成一个下拉菜单 当窗口大小调整时 基本上隐藏了导航栏上的所有内容 但我仍
  • 在 package.json 中声明时 Reactify 转换未运行

    我正在尝试将reactify 转换与browserify 和gulp 结合使用 这个 gulp 任务有效 return browserify paths node modules app scripts entries app script
  • 如何将json从android发送到php?

    为了将 json 从 android 发布到 php 我使用了 Volley 库StringRequest目的 StringRequest sr new StringRequest Request Method POST url new R
  • 如何按日期属性对对象数组进行排序?

    假设我有一个由几个对象组成的数组 var array id 1 date Mar 12 2012 10 00 00 AM id 2 date Mar 8 2012 08 00 00 AM 如何按日期元素从最接近当前日期和时间的日期开始对该数
  • require未定义nodejs

    尝试使用此 smartsheet api http smartsheet platform github io api docs javascript node js sample code http smartsheet platform
  • 具有多个参数的 JavaScript 函数

    我有一个将数组作为输入的函数 我如何修改它以使用变量参数和数组 例如我想要arrSum 1 2 3 arrSum 1 2 3 回来true即两者都应该返回 6 const arrSum arr gt arr reduce a b gt a
  • 处理 Cloud Run 容器关闭

    在编写 Cloud Run 服务时 我们开发一个容器来监听PORT用于处理传入 HTTP 请求的环境变量 容器的实例会启动并处理请求 然后在完成原始请求后存活一段时间 以防有更多请求到达 如果没有进一步的请求 GCP关闭容器 我在这方面有一