在部署新服务修订期间,Cloud 运行 如何处理我应用程序中 运行 的内容?

How Cloud Run behaves with things that are running in my application during the deploy of a new service revision?

我正在将当前在 Compute Engine 上运行的 PHP Web 应用程序迁移到云端 运行。目前,该平台以 cron 作业的形式安排一些 PHP 脚本的执行。

假设我计划在迁移到 Cloud 运行 后使用 Cloud Scheduler 来安排对其中一些 PHP 脚本的请求。我的问题是,如果这些 PHP 脚本中的任何一个在新服务修订的新部署结束期间恰好是 运行,Cloud 运行 将如何运行,部署一个新修订终止正在进行的脚本执行(由 Cloud Scheduler 请求触发)?

此外,我想知道 Cloud 运行 在新服务修订部署期间如何处理正在进行的(任何)请求。也许我的两个问题都是 related/connected.

(当我认为部署新修订版会立即终止所有内容 运行 以及对服务进行中的每个请求时,也许我错了。)

部署新修订版时,新请求将路由到新修订版。当前 运行ning 请求继续对先前修订的现有实例进行处理。当旧版本的实例没有活动请求时,将在一段时间后(今天大约 15 分钟)将其删除。

所以,这两个问题是相关的。但是请注意:如果您使用 Cloud Scheduler 运行 PHP 脚本,您执行的 HTTP 请求必须保持活动状态直到脚本结束。如果您在处理结束前在 PHP 脚本中发送响应,首先 CPU 将被限制,您的脚本将非常非常非常慢。其次,云 运行 服务会将实例视为非活动实例(未服务于活动请求)并且可以根据需要将其删除。