Мы используем Google App Engine в стандартной среде для приема большого объема данных в Google Cloud Firestore со следующей конфигурацией:
instance_class: B4
basic_scaling:
instances: 1
Общий прием данных 20 ГБ занимает около 1,5 часов. Но мы заметили, что через час экземпляр внезапно выключается с ошибкой ниже:
Контейнер остановлен по сигналу 9.
Согласно этому Как управляются экземпляры документация, базовое масштабирование может обслуживать запрос до 24 часов.
Мы также не можем видеть больше деталей в логах. Также проверил использование памяти: у B4 1024 МБ, а приложение использует только до 350 МБ.
Если кто-нибудь сталкивался с такой ошибкой, ваш вклад будет ценен!
Думаю, этот вопрос больше подходит для Переполнение стека согласно StackExchange> Справочный центр> Спрашивать документация. Пожалуйста, задавайте вопросы на соответствующем форуме в будущем, так как это поможет лучше и быстрее решить проблему.
Однако я считаю, что вам следует взглянуть на Как управляются экземпляры> Время работы экземпляра документации, чтобы настроить App Engine таким образом, чтобы он справлялся с такими долгими процессами.
На основе вашего app.yaml
файл конфигурации, я вижу, что вы настроили basic_scaling
к 1 а в документации указано, что
«App Engine пытается поддерживать работу экземпляров ручного и базового масштабирования бесконечно».
однако в нем также говорится, что
«Аппаратные и программные сбои, вызывающие преждевременное завершение работы или частые перезапуски, могут происходить без предварительного предупреждения и могут потребовать значительного времени для устранения; поэтому вы должны сконструировать свое приложение таким образом, чтобы эти сбои допускались».
Это означает, что вы должны быть готовы к такому поведению в любом случае, и вы можете следовать стратегиям, упомянутым в том же абзаце, чтобы действовать в таких случаях.