У меня есть приложение, состоящее из двух служб: а) внешний код, работающий в стандарте механизма приложения, и б) внутренний код, который работает под гибким механизмом приложения.
Гибкий механизм ядра приложения дороже, чем стандартный механизм приложения, и код, работающий в нем, не должен выполняться все время.
Я хочу иметь возможность запускать и останавливать версию серверной службы b из кода Python, работающего во внешней службе a.
Как я могу это сделать? Я нашел здесь документацию по API движка приложения, но, похоже, нет способа создать экземпляр из версии:
https://cloud.google.com/appengine/docs/admin-api/reference/rest/
App Engine Flexible не масштабируется до нуля экземпляров. Минимальное количество экземпляров — 1.
App Engine Flexible запускает ваш код в контейнере. Если ваш код не имеет состояния или хранит свое состояние в другом месте, рассмотрите Google Cloud Run. Cloud Run масштабируется до нуля и запускает контейнеры, аналогичные гибким, с гораздо меньшими затратами. Cloud Run автоматически уменьшится до нуля и увеличится до тысяч экземпляров.
@gaefan вот что заставило меня надеяться, что есть способ сделать это, но когда я пытаюсь перезапустить остановленные экземпляры вручную, это не работает
Спасибо @john-hanley. Вроде работает, но, к сожалению, недоступно в моем регионе. Есть идеи, когда он выйдет из бета-версии?
Дата выхода пока не опубликована. Google предпочитает какое-то время быть в бета-версии, чтобы убедиться, что все крайние случаи протестированы. Скоро будет новый регион или два - через несколько недель.
У вас не может быть 0 экземпляров, но вы можете «остановить» гибкую версию на консоли. Хотя я почти уверен, что нет API для остановки и запуска гибкой версии, поэтому он не дает решения вопроса.