Timeout funzione
Se una funzione viene eseguita per troppo tempo, il sistema adotta misure per interromperla o limitarne la velocità. 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 è 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, al chiamante viene restituito immediatamente un messaggio di risposta con uno stato di errore HTTP 504. L'istanza della funzione potrebbe essere limitata, ma continua a funzionare finché non esce 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:
- Imposta un timeout superiore al tempo di esecuzione della funzione previsto.
- 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 Google Cloud CLI o la console Google Cloud.
gcloud
Se esegui il deployment utilizzando l'interfaccia a riga di comando gcloud, 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:
- Vai alla pagina Panoramica delle funzioni Cloud Run nella console Google Cloud.
- Fai clic su Crea funzione.
- Compila i campi obbligatori per la funzione.
- Espandi la sezione Runtime, build… alla fine della pagina e fai clic sulla scheda Runtime.
Nel campo Timeout, inserisci un numero di secondi.
Per modificare la durata di un timeout esistente nella console Google Cloud, nella pagina Panoramica delle funzioni fai clic sul nome della funzione per accedere alla relativa pagina dei 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.