为什么不保证关闭脚本?

时间:2016-03-18 17:16:54

标签: google-compute-engine

documentation中,它表示关闭脚本仅在尽力而为的基础上运行,并且不能保证它们运行。我想知道他们不会跑的地方是什么条件?

修改

正如AndyJ指出的那样,我链接的文档描述了脚本假设何时运行。为了澄清,我已经阅读了所有这些,但在我看来,缺乏运行保证包括它通常应该的条件。

因此,为了更好地表达我的问题,脚本是否保证在文档说它运行它的条件下运行,或者只有当应该时才会运行,而不是当它

1 个答案:

答案 0 :(得分:2)

他们在您链接到的documentation中解决此问题。

  

关闭脚本调用

     

当计划重新启动或终止实例时,将执行关闭脚本。 有很多方法可以重新启动或终止实例,但只有一些操作会触发关闭脚本运行。关闭脚本将在以下时间运行:

     

使用instances()。delete删除实例。请求。这包括使用API​​的任何工具或脚本,例如Google Cloud Platform Console和gcloud compute。   通过控制台或instances.stop()方法关闭实例。   通过对客户机操作系统的请求重新启动或关闭实例,例如sudo shutdown或sudo reboot。

     

注意:如果关机脚本需要网络连接,我们建议使用此方法关闭实例,因为已知网络连接丢失问题。该问题主要影响已在客户机操作系统之外关闭的实例。   如果使用instances()。reset。

重置实例,则不会运行关闭脚本      

关闭脚本运行时间

     

当调用关闭脚本时,它的运行时间有限,在请求关闭或重新启动实例之间,实例终止时。在此期间,Compute Engine将尝试运行您的关闭脚本,但如果脚本花费的时间超过此时间段,则实例将自动终止并且所有正在运行的任务都将被终止。如果通过向来宾操作系统发出请求(例如,运行sudo shutdown)来关闭或重新启动实例,则该限制不适用。

     

通常,我们建议您的关闭脚本在此时间段内完成运行,以便操作系统有时间完成其关闭,包括将缓冲区刷新到磁盘。

     

有关此时间限制的详细信息,请参阅关机时间。