Google compute engine 启动脚本在停止之前完成是否有时间限制?

Google compute engine 启动脚本在停止之前完成是否有时间限制?,google-compute-engine,Google Compute Engine,我需要在google compute engine中创建一个VM实例,启动脚本需要30分钟,但它永远不会完成,它会在实例启动后10分钟左右停止。有超时吗?是否有其他方法来完成我需要做的事情?谢谢 鉴于评论中的额外澄清: 我的脚本下载另一个脚本,然后执行它,该脚本所做的是下载一些大文件,然后根据纬度/经度计算一些值。然后,当进程完成时,VM被销毁 我的建议是异步运行大型下载和处理,而不是同步运行。原因是,如果它是同步的,那么它是VM启动的一部分(在关键路径中),并且VM监视基础结构会注意到VM没有

我需要在google compute engine中创建一个VM实例,启动脚本需要30分钟,但它永远不会完成,它会在实例启动后10分钟左右停止。有超时吗?是否有其他方法来完成我需要做的事情?谢谢

鉴于评论中的额外澄清:

我的脚本下载另一个脚本,然后执行它,该脚本所做的是下载一些大文件,然后根据纬度/经度计算一些值。然后,当进程完成时,VM被销毁

我的建议是异步运行大型下载和处理,而不是同步运行。原因是,如果它是同步的,那么它是VM启动的一部分(在关键路径中),并且VM监视基础结构会注意到VM没有在合理的时间内完成其启动阶段,并将终止它

相反,将繁重的处理从关键路径中取出,并在后台进行,即异步进行

换句话说,启动脚本当前可能如下所示:

#下载外部脚本
curl[…]-o/tmp/script.sh
#运行文件下载、计算等并关闭VM。
/tmp/script.sh
我建议将此转换为:

#下载外部脚本
curl[…]-o/tmp/script.sh
#运行文件下载、计算等并关闭VM。
nohup/tmp/script.sh&
这样做的目的是在后台启动繁重的处理,但同时将其与父进程断开连接,以便在父进程(实际启动脚本)终止时不会自动终止。我们希望主启动脚本终止,以便将整个VM启动阶段标记为已完成


有关更多信息,请参阅。

能否澄清启动脚本需要30分钟才能完成的工作?下载/安装/配置软件?你能在VM启动后使用诸如Chef、Ansible、Puppet、Salt等工具完成吗。?它们还将帮助您在实时虚拟机运行时更新/重新配置它们,而不仅仅是在启动时。或者,您可以使用@MishaBrukman My script下载另一个脚本并执行它,该脚本所做的是下载一些大文件,然后根据纬度/经度计算一些值。然后,当进程完成时,VM被销毁。我让这个过程在数字海洋中顺利运行。谢谢!我将尝试此解决方案并让您知道