2016-03-18 16 views
8

Nel documentation si dice che gli script di arresto vengono eseguiti solo su una base di sforzo ottimale e che non sono garantiti per l'esecuzione. Mi chiedo quali sarebbero le condizioni in cui non avrebbero corso?Perché gli script di spegnimento non sono garantiti?

Modifica

Come AndyJ sottolineato, la documentazione ho collegato descrive quando lo script è suppone da eseguire. Per chiarire, ho letto tutto, ma mi è sembrato che la mancanza di garanzia di esecuzione includesse le condizioni in cui normalmente si suppone.

Così, alla mia domanda frase migliore, è lo script garantito per l'esecuzione in condizioni documentazione dice che lo gestisce, o è che solo quando dovrebbe e non necessariamente quando sarà?

+1

Lo script di arresto genera un'eccezione, si blocca in un ciclo infinito o viene eseguito così a lungo che le risorse sono scomparse. –

+0

Questo è strano, 5 persone hanno fatto salire la tua domanda eppure nessuno di loro ha letto la documentazione a cui ti sei collegato.Avresti pensato che le persone così interessate alla risposta avrebbero messo un po 'di impegno in! – AndyJ

risposta

1

Si indirizza a questo nel documentation a cui è collegato.

script di arresto invocazione

script di arresto vengono eseguiti quando un'istanza è previsto per riavviare o terminare. Esistono molti modi per riavviare o terminare un'istanza, ma solo alcune azioni attiveranno l'esecuzione dello script di chiusura. Uno script di arresto verrà eseguito quando:

Un'istanza viene eliminata utilizzando le istanze(). richiesta. Ciò include tutti gli strumenti o gli script che utilizzano l'API, come la Google Cloud Platform Console e il calcolo di gcloud. Un'istanza viene chiusa tramite la console o il metodo instances.stop(). Un'istanza viene riavviata o chiusa tramite una richiesta al sistema operativo guest, come un arresto sudo o il riavvio sudo.

Nota: se lo script di arresto richiede una connessione di rete, si consiglia di arrestare l'istanza utilizzando questo metodo a causa di un problema noto relativo alla perdita di connettività di rete. Il problema riguarda principalmente le istanze che sono state chiuse al di fuori del sistema operativo guest. Lo script di arresto non verrà eseguito se l'istanza viene ripristinata utilizzando istanze(). Reset.

script di arresto tempo

Quando uno script di arresto viene richiamato esecuzione, ha un periodo di tempo limitato per eseguire, tra cui la richiesta è rivolta ad arrestare o riavviare l'istanza, quando l'istanza è effettivamente terminata. Durante questo periodo, Compute Engine tenterà di eseguire lo script di arresto, ma se lo script impiega più tempo di questo periodo per completarsi, l'istanza verrà automaticamente chiusa e tutte le attività in esecuzione verranno eliminate. Se si spegne o si riavvia un'istanza effettuando una richiesta al SO guest (ad esempio, l'esecuzione di sudo shutdown) il limite non si applica.

In generale, si consiglia di terminare l'esecuzione dello script di arresto entro questo periodo di tempo, in modo che il sistema operativo abbia il tempo di completare l'arresto, inclusi i buffer di svuotamento su disco.

Per ulteriori informazioni su questo limite di tempo, vedere Periodo di arresto.

+0

Ho già letto e capito la sezione che hai citato. Si prega di consultare la mia domanda aggiornata. – nathanjosiah

Problemi correlati