Timeout funzione

Se una funzione viene eseguita per troppo tempo, il sistema adotta delle misure per terminare limitarlo. Per impostazione predefinita, questo periodo di timeout è per 60 secondi, ma puoi estendere e ridurlo al momento del deployment della funzione. La durata massima del timeout è 60 minuti (3600 secondi) per le funzioni HTTP e 9 minuti (540 secondi) per le funzioni basate su eventi.

Quando l'esecuzione della funzione raggiunge il timeout, viene visualizzato un messaggio di risposta con un errore HTTP 504 viene immediatamente restituito al chiamante. L'istanza della funzione limitato, ma continua a funzionare finché non si chiude autonomamente. Qualsiasi risposta generato dalla funzione viene ignorato e non viene restituito al chiamante.

Questo comportamento può causare effetti collaterali imprevisti. Un comune sintomo è l'aspetto di lavoro e registri di una "perdita" di richiesta in un successiva richiesta. Per evitare che ciò accada, evita i timeout nelle funzioni con il le seguenti tecniche:

  1. Imposta un timeout superiore al tempo di esecuzione previsto della funzione.
  2. Monitora il tempo rimanente durante l'esecuzione. Poi esegui la pulizia e tornare in anticipo.

Imposta una durata del timeout

Puoi impostare la durata del timeout di una funzione al momento del deployment utilizzando il metodo Google Cloud CLI o la console Google Cloud.

gcloud

Se esegui il deployment con gcloud CLI, utilizza --timeout flag:

gcloud functions deploy YOUR_FUNCTION_NAME --timeout=TIMEOUT_DURATION ...

Per modificare la durata di un timeout esistente con Google Cloud CLI, esegui nuovamente il deployment con un nuovo valore di timeout.

Console

Per impostare la durata del timeout durante la creazione della funzione nel campo Console Google Cloud:

  1. Vai alla sezione Pagina Panoramica di Cloud Functions in la console Google Cloud.
  2. Fai clic su Crea funzione.
  3. Compila i campi obbligatori per la funzione.
  4. Espandi la sezione Runtime, build... alla fine della pagina e fai clic su la scheda Runtime.
  5. Nel campo Timeout, inserisci un numero di secondi.

    Per modificare la durata di un timeout esistente nella console Google Cloud, nelle funzioni nella pagina Panoramica, fai clic sul nome della funzione per visualizzarne i dettagli . Nella pagina dei dettagli, fai clic su Modifica ed espandi la sezione Runtime, build... e fai clic sulla scheda Runtime, dove puoi modificare direttamente nel campo Timeout.