Timeout funzione

Se una funzione viene eseguita per troppo tempo, il sistema prende provvedimenti per terminarla o ridurla. Il valore predefinito di questo periodo di timeout è di 60 secondi, ma puoi estenderlo o ridurlo quando esegui il deployment della funzione. La durata massima del timeout è di 60 minuti (3600 secondi) per le funzioni HTTP e di 9 minuti (540 secondi) per le funzioni basate su eventi.

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

Questo comportamento può causare effetti collaterali imprevisti. Un sintomo comune è l'aspetto del lavoro e dei log relativi alla "perdita" di una richiesta in una richiesta successiva. Per evitare che ciò accada, evita i timeout nelle funzioni con 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 torna in anticipo.

Imposta una durata del timeout

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

gcloud

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

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 della funzione con un nuovo valore di timeout.

Console

Per impostare la durata del timeout durante la creazione della funzione nella console Google Cloud:

  1. Vai alla pagina Panoramica di Cloud Functions nella 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 sulla scheda Runtime.
  5. Nel campo Timeout, inserisci un numero di secondi.

    Per modificare la durata di un timeout esistente nella console Google Cloud, nella pagina della panoramica delle funzioni fai clic sul nome della funzione per passare alla relativa pagina dei dettagli. Nella pagina dei dettagli, fai clic su Modifica, espandi la sezione Runtime, build... e fai clic sulla scheda Runtime, dove puoi modificare direttamente il valore nel campo Timeout.