【发布时间】:2017-11-29 23:26:12
【问题描述】:
我有一个运行时间超过 10 分钟的进程 (Python)。最初想在谷歌云 App Engine 中运行,因为它有 60 秒的超时窗口计划在谷歌计算引擎中运行。但我知道计算引擎也有 10 分钟的超时窗口,但我在互联网上找不到该信息。
所以想检查一下,请告诉我谷歌计算引擎是否也有超时窗口?
谢谢,
【问题讨论】:
标签: google-cloud-platform google-compute-engine
我有一个运行时间超过 10 分钟的进程 (Python)。最初想在谷歌云 App Engine 中运行,因为它有 60 秒的超时窗口计划在谷歌计算引擎中运行。但我知道计算引擎也有 10 分钟的超时窗口,但我在互联网上找不到该信息。
所以想检查一下,请告诉我谷歌计算引擎是否也有超时窗口?
谢谢,
【问题讨论】:
标签: google-cloud-platform google-compute-engine
App Engine 标准环境有一个60 second timeout for HTTP requests and 10 minute timeout for tasks in task queues。 App Engine 标准在专门的沙盒环境中运行。
还有一些info here about various DeadlineExceededError messages 您可以在 App Engine 标准中获得以及如何处理它们。
App Engine 还提供了一个替代环境(App Engine Flexible aka Flex),该环境又在 Google Compute Engine (GCE) 虚拟机上运行。它的超时时间为60 minutes。它还在语言和运行时方面提供了更大的灵活性。
两种 App Engine 环境(Standard 和 Flex)都是托管的平台即服务环境(例如,您无需担心启动底层基础架构并对其进行管理)。 Google App Engine 会自动处理此问题。
你可以看看App Engine Standard vs App Engine Flex的对比。
当您直接使用 Google Compute Engine (GCE) 虚拟机时,它们没有任何关联的超时(我在下面描述的抢占式虚拟机除外)。 GCE VM 将由您完全管理,您可以控制实例运行的时间。
由于持续的维护事件,有时您的 VM 可能是 Live migrated,顺便说一句,这对您和您在 VM 上运行的应用程序来说大多是透明的。由于您无法控制的硬件故障,您的机器有时可能会重新启动,但这就是您需要使您的应用程序能够适应此类故障的地方。事实上,通过使用App Engine,这些详细信息已从您那里抽象出来并由 Google 完全管理。
抢占式虚拟机是成本较低且寿命短的 GCE 虚拟机,最长持续时间为 24 hours,如果 GCE 想要将底层资源用于其他目的,甚至可以在此之前终止。这对于处理没有严格延迟要求的批处理工作负载更有用。
【讨论】: