2016-08-01 8 views
0

Ich verwende einen Java-Server in Google App Engine. Es scheint, dass das GAE-Konto die 9 freien Instanzenstunden verbraucht, die mit GAE-Backend-Instanzen geliefert werden, aber bisher habe ich den Server hauptsächlich auf localhost während der Entwicklung ausgeführt (mit nur wenigen Live-Bereitstellungen, nur um die Bereitstellung zu testen) verarbeiten). Warum werden Instanzenstunden verbraucht?Unbenutzte Google App Engine-Instanz, die das Kontingent überschreitet

Antwort

1

Welche Skalierung haben Sie in Ihrem Projekt? Basic, manuell oder automatisch?

edit: Wie Sie haben seit angegeben Sie manuelle Skalierung verwenden:

Manuelle Skalierung: Ein Dienst mit manueller Skalierung läuft kontinuierlich, ermöglicht es Ihnen, komplexe Initialisierung durchzuführen und verlassen auf dem Zustand seines Speichers im Laufe der Zeit. Dieses

bedeutet, dass Ihre Handvoll Live-Implementierungen wahrscheinlich mindestens eine im manuellen Skalierungsmodus hat, die Ihr Problem verursacht

+0

ich habe mit Firebase GAE integriert und als solche aktiviert manuelle Skalierung wie in diesem Tutorial beschrieben: https://cloud.google.com/solutions/mobile/firebase-app-engine-android-studio#configuring_the_app_engine_backend_to_use_manual_scaling – user2181948

0

Auch wenn dies eine recht alte Frage und Sie wahrscheinlich schon herausgefunden, hier ist die einfachste Lösung: Ersetzen manual-scaling Abschnitt mit einem basic-scaling eins.

Ihre appengine-web.xml aussehen wird wie unten

<?xml version="1.0" encoding="utf-8"?> 
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>myApplicationId</application> 
    <version>1</version> 
    <threadsafe>true</threadsafe> 
    <basic-scaling> 
    <max-instances>1</max-instances> 
    <idle-timeout>10m</idle-timeout> 
    </basic-scaling> 
    <system-properties> 
    <property name="java.util.logging.config.file" value="WEB-INF/logging.properties" /> 
    </system-properties> 
</appengine-web-app> 

Das bedeutet, dass durch basic-scaling, wird Ihre Anwendung haben maximal 1 Instanz ausgeführt wird, und wird passiviert werden (so dass Sie nicht dafür bezahlen) nach 10 Minuten

+0

Während Dies kann für einen schnellen Test während der Entwicklung funktionieren nicht OK für längere Tests oder Produktion. Aus dem befolgten Lernprogramm (siehe Kommentare): "Um Firebase mit der App Engine-Standardumgebung zu verwenden, müssen Sie die manuelle Skalierung verwenden. Dies liegt daran, dass Firebase Hintergrundthreads für Änderungen verwendet und die App Engine-Standardumgebung nur langlebige Hintergrundthreads zulässt auf manuell skalierten Backend-Instanzen. " –