I\'m experimenting with more cost effective ways to deploy my Rails apps, and went through the Ruby Starter Projects to get a feel for Google Cloud Platform.
It\'s al
To stop all instances of all non-default versions of all modules (independently of what languages those modules are in), you could add a small control
module, written in Python, using the modules
API:
from google.appengine.api.modules import modules
# core logic (inside a cron or other handler)
for m in modules.get_modules():
dv = modules.get_default_version(m)
for v in modules.get_versions(m):
if v != dv: modules.stop_version(m, v)
This doesn't delete the non-default versions (the modules
API does not appear to currently support deletion), but does ensure that none of their instances are running (so no charges would be incurred for them).
This core logic is meant for you to wrap it inside a handler, so you can trigger it as required, for example in a cron job, or in a "regular" handler that you trigger from the outside (with appropriate auth) e.g. via wget or curl within your bash scripts.
I don't believe there's a Ruby version of Python's google.appengine.api.modules.modules
, but, I could be wrong... I just couldn't find one. However, a simple Python-coded module should let you control modules coded in whatever other App Engine language (since App Engine lets you mix and match modules coded in different languages).