我们在标准环境中使用 Google App Engine 将大量数据导入 Google Cloud Firestore,配置如下:
instance_class: B4
basic_scaling:
instances: 1
20GB 的总数据提取大约需要 1.5 小时。但我们注意到,一小时后,实例突然关闭并出现以下错误:
容器于信号 9 终止。
根据此如何管理实例文档、基本扩展可以在长达 24 小时内满足请求。
我们在日志中也看不到更多详细信息。还检查了内存使用情况,B4 有 1024 MB,而应用程序最多只使用了 350 MB。
如果有人遇到过这种错误,您的输入将会非常有价值!
答案1
我认为这个问题更适合堆栈溢出按照StackExchange > 帮助中心 > 提问文档。请以后在适当的论坛上发布问题,因为这将有助于更好、更快地解决问题。
不过,我认为你应该看看如何管理实例 > 实例正常运行时间文档来配置您的 App Engine,以便它能够应对如此漫长的过程。
根据您的app.yaml
配置文件,我可以看到您已经设置basic_scaling
了1文档中指出
“App Engine 尝试保持手动和基本扩展实例无限期地运行。”
然而它也指出
“导致提前终止或频繁重启的硬件和软件故障可能在没有事先警告的情况下发生,并且可能需要相当长的时间才能解决;因此,您应该以能够容忍这些故障的方式构建您的应用程序。”
这意味着无论如何你都应该为这种行为做好准备,并且你可以按照同一段中提到的策略来应对这些情况。