删除Cloud Run服务后仍报错?为何进程未终止
Cloud Run服务删除后进程未立即终止的原因
这是由Cloud Run的实例生命周期机制和你的服务配置共同导致的,具体原因如下:
Cloud Run实例的终止逻辑:删除Cloud Run服务时,系统只会停止向该服务分配新的请求,但已经处于运行状态的实例不会被立即强制终止。Cloud Run的设计是允许实例完成当前的任务周期,或者直到达到你配置的实例超时时间才会被销毁,以此避免突然中断运行中的任务引发异常。
超时配置的影响:你设置了60分钟的服务超时时间,这个参数定义了单个实例的最大运行时长。由于你的代码存在bug,连接Redis失败后进入无限重试循环,实例会一直运行,直到耗尽60分钟的超时配额——哪怕此时服务已经被删除,这个运行中的实例也会继续执行到超时才停止,自然报错日志也会持续到这个节点。
未处理终止信号:Cloud Run在准备终止实例时会向进程发送
SIGTERM终止信号,如果你的代码没有监听并处理这个信号(比如触发重试逻辑停止、释放资源),进程会无视信号继续执行,直到达到超时上限才会被系统强制杀死。
内容的提问来源于stack exchange,提问
相关产品推荐
相关产品推荐

