2016-07-10 15 views
3

Ich habe einen kleinen Web-Service mit Node.js und PhantomJS, und stellte es auf Google App-Engine mit seinen flexiblen Umgebungen ... Das Problem ist, der Dienst wird nur für eine halbe Stunde jeden Tag, aber die VM-Instanzen läuft alle Zeit und ich bezahle dafür ... So muss ich automatisch die Instanz (en) vor der geplanten Laufzeit meiner App starten und sie dann automatisch stoppen habe ich versucht, den Einsatz Cron Jobs beginnen zu rufen/über die API zu stoppen, wie in here, aber es versäumt ..Starten/Stoppen Google App Engine benutzerdefinierte Runtime-Instanzen

Vielen Dank für Fortschritt

+0

es gibt immer mindestens eine laufende Instanz für App-Engine, afaik gibt es keine Möglichkeit, es zu stoppen –

+0

Ich habe zwei Instanzen und ich kann keine von ihnen stoppen – Morshedy

Antwort

4

Wir scheinen nicht t o zur Zeit die Version Stop-Methode in dem Rest API aussetzen: https://cloud.google.com/appengine/docs/admin-api/

jedoch - eine Version, indem Sie diesen Befehl stoppen:

gcloud app versions list 
gcloud app versions stop <version> 

, die sicher die VMs nach unten zubekommen machen. Wenn Sie bereit sind, sie wieder einzuschalten ...

gcloud app versions start <version> 

Hoffe, das hilft!

+0

Hallo Justin, danke für deine Antwort, ich habe stoppte die Instanz automatisch mit einer anderen App-Engine Python-App, mit googleapiclient Paket, leider starten die Instanz automatisch nach etwa 5 Minuten, haben Sie eine Ahnung über den Grund? .. Vielen Dank wieder – Morshedy

+0

Sie können nicht die Instanz Befehle wie Das :). Instanzen starten und stoppen immer während des Lebenszyklus einer App-Engine-Anwendung. Wenn Sie die App stoppen möchten, müssen Sie die Versionen stoppen. Ich werde herausfinden, warum die Version API am Montag nicht öffentlich ist, aber im Moment ist der Befehl gcloud wahrscheinlich die beste Wahl. –

+1

Gute Nachrichten! Ich habe mit einem anderen Ingenieur im Team gechattet, und es stellt sich heraus, dass Sie dies mit der API tun können/können. Aktualisieren Sie den servingStatus mit dieser API: https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1beta5/apps.services.versions/patch –