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 sintomo comune è la comparsa di lavoro e log di una richiesta che "trasbordano" in una richiesta successiva. Per evitare questo problema, 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 tornare in anticipo.

Impostare 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 delle funzioni di Cloud Run 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.