Kol*_*ban 5 google-cloud-platform google-cloud-run
在编写 Cloud Run 服务时,我们开发了一个容器来侦听PORT环境变量以处理传入的 HTTP 请求。容器的一个实例启动并处理请求,然后在完成原始请求后存活一段时间,以防有进一步的请求到达。如果没有进一步的请求,GCP 会关闭容器。正是在这个领域,我有一个问题。
集装箱内是否有挂钩、信号或其他迹象表明集装箱正在关闭?
在我的示例中,我的容器想要干净地结束。也许它想关闭连接或执行一些缓存的快速刷新。
在这里可以找到 Cloud Run 上精彩问答的常见问题解答。该常见问题解答中有一个项目内容如下:
\n\n\n\n\nCloud Run 服务的终止信号是什么?
\n\n目前,\n Cloud Run 会终止容器,同时使用 unix 信号\n 9 (SIGKILL) 缩放至零。SIGKILL 不能被应用程序捕获(捕获)。\n 因此,您的应用程序应该可以被突然终止。
\n
相关且重要的条目还写道:
\n\n\n\n\n我的服务何时会缩减为零?
\n\nCloud Run 不提供任何保证服务“温暖”的时间。\n 这取决于容量和 Google\xe2\x80\x99s\n 实施细节等因素。
\n\n一些用户发现他们的服务保持热状态长达一个小时或更长时间。
\n
我觉得有趣的是这个故事似乎是即时发生的SIGKILL。如果我们将 Docker 作为容器环境的基础,我们可以阅读有关docker stop 的内容,这似乎是干净地停止容器的方法。在它自己的描述中说:
\n\n\n容器内的主进程将收到 SIGTERM,并在宽限期后收到 SIGKILL。
\n
这似乎表明,对于正常的Docker 容器停止,运行容器的进程将收到信号。
\n| 归档时间: |
|
| 查看次数: |
1571 次 |
| 最近记录: |