2016-03-18 7 views
8

In der documentation heißt es, dass Shutdown-Skripts nur auf einer Best-Effort-Basis ausgeführt werden und dass sie nicht garantiert ausgeführt werden. Ich frage mich, unter welchen Bedingungen das wäre, wo sie nicht laufen würden?Warum sind Shutdown-Skripts nicht garantiert?

bearbeiten

Wie AndyJ wies darauf hin, die Dokumentation I verknüpft beschreibt, wenn das Skript soll ausgeführt werden. Um das klarzustellen, habe ich alles gelesen, aber es schien mir, dass der Mangel an Garantie zu laufen die Bedingungen einschließt, in denen es normalerweise sollte.

Also, meine Frage zu einem besseren Phrase, wird das Skript der Dokumentation sagt in den Bedingungen laufen garantiert es läuft, oder ist nur, dass, wenn es sollte und nicht unbedingt, wenn es wird?

+1

Das Shutdown-Skript generiert eine Ausnahme, hängt in einer Endlosschleife oder läuft so lange, dass die Ressourcen verschwunden sind. –

+0

Das ist merkwürdig, 5 Leute haben Ihre Frage geupdated und keiner von ihnen hat die Dokumentation gelesen, die Sie verlinkt haben.Du hättest gedacht, dass Individuen, die so an der Antwort interessiert sind, einige grundlegende Anstrengungen unternommen hätten! – AndyJ

Antwort

1

Sie adressieren dies in der documentation, mit der Sie verbunden sind.

Shutdown Script Aufruf

Shutdown-Skripte ausführen, wenn eine Instanz geplant ist neu zu starten oder zu beenden. Es gibt viele Möglichkeiten, eine Instanz neu zu starten oder zu beenden, aber nur einige Aktionen lösen das Herunterfahren aus. Ein Shutdown-Skript wird ausgeführt, wenn:

Eine Instanz wird mit den Instanzen() gelöscht. anfordern. Dazu gehören alle Tools oder Skripts, die die API verwenden, z. B. die Google Cloud Platform-Konsole und gcloud compute. Eine Instanz wird über die Konsole oder die Methode instances.stop() heruntergefahren. Eine Instanz wird über eine Anforderung an das Gastbetriebssystem neu gestartet oder heruntergefahren, z. B. durch ein sudo-Herunterfahren oder einen sudo-Neustart.

Hinweis: Wenn für das Skript zum Herunterfahren eine Netzwerkverbindung erforderlich ist, wird empfohlen, die Instanz mit dieser Methode aufgrund eines bekannten Problems mit Netzwerkkonnektivitätsverlust herunterzufahren. Das Problem betrifft in erster Linie Instanzen, die außerhalb des Gastbetriebssystems heruntergefahren wurden. Das Shutdown-Skript wird nicht ausgeführt, wenn die Instanz mithilfe von instances() zurückgesetzt wird.

Shutdown Script Laufzeit

Wenn ein Shutdown-Skript aufgerufen wird, hat es eine begrenzte Zeit zu laufen, zwischen, wenn die Anforderung der Instanz herunterzufahren gemacht wird oder neu zu starten, um, wenn die Instanz tatsächlich beendet ist. Während dieses Zeitraums versucht Compute Engine, Ihr Shutdown-Skript auszuführen. Wenn das Skript jedoch länger als diese Zeitspanne dauert, wird die Instanz automatisch beendet und alle laufenden Aufgaben werden beendet. Wenn Sie eine Instanz herunterfahren oder neu starten, indem Sie eine Anforderung an das Gastbetriebssystem senden (z. B. das Herunterfahren von sudo ausführen), gilt das Limit nicht.

Im Allgemeinen wird empfohlen, dass Ihr Shutdown-Skript innerhalb dieses Zeitraums ausgeführt wird, damit das Betriebssystem genügend Zeit hat, um das Herunterfahren abzuschließen, einschließlich des Löschens von Puffern auf die Festplatte.

Weitere Informationen zu diesem Zeitlimit finden Sie unter Abschaltdauer.

+0

Ich habe den von Ihnen zitierten Abschnitt bereits gelesen und verstanden. Bitte sehen Sie meine aktualisierte Frage. – nathanjosiah

Verwandte Themen