Impostazione dei timeout della funzione in modo diverso per varie funzioni all'interno della stessa app dipende dalla piattaforma cloud che si sta utilizzando:
- AWS Lambda: In AWS Lambda, è possibile configurare il timeout per ogni funzione singolarmente. Questo viene fatto accedendo alla console Lambda, selezionando la funzione specifica e regolando l'impostazione timeout nella scheda Configurazione. Il timeout può essere impostato tra 1 e 900 secondi (15 minuti) per ciascuna funzione in modo indipendente [1].
- Funzioni di Azure: per le funzioni di Azure, la proprietà `FunctionTimeout` nel file` host.json` si applica a livello globale a tutte le funzioni all'interno di un'app. Tuttavia, è possibile impostare timeout diversi per diverse funzioni utilizzando app di funzioni separate o implementando la logica personalizzata all'interno delle funzioni per gestire a livello di programmazione i timeout. `FunctionTimeOut` può essere impostato fino a 10 minuti per l'hosting del piano di consumo ed è illimitato per piani premium e dedicati [3] [7].
-Google Cloud Funzioni: in Google Cloud, è possibile impostare la durata del timeout per ciascuna funzione singolarmente durante la distribuzione utilizzando il flag `-timeout` con il comando` Gcloud Functions Deploy`. Ciò consente di configurare timeout diversi per funzioni diverse all'interno dello stesso progetto [5].
- Script app: per lo script di Google Apps, il tempo di esecuzione massimo è fissato a 6 minuti per la versione gratuita e non esiste alcuna opzione per impostare timeout diversi per script diversi. Tuttavia, è possibile dividere l'elaborazione in più script per evitare timeout [2].
In sintesi, mentre alcune piattaforme come AWS Lambda e Google Cloud Funzioni consentono di impostare timeout diversi per ogni funzione, altre come le funzioni di Azure applicano un'impostazione di timeout globale a meno che non sia implementata la logica personalizzata.
Citazioni:
[1] https://docs.aws.amazon.com/lambda/latest/dg/configuration timeout.html
[2] https://www.googlecloudcomunity.com/gc/appsheet-q-a/bot-executes-script-trigger-twice-due-to-totimeout/m-p/598297
[3] https://build5nines.com/azure-functions-extend-execution timeout-past-5-minutes/
[4] https://developer.mozilla.org/en-us/docs/web/api/window/settimeout
[5] https://cloud.google.com/functions/docs/configuring/timeout
[6] https://stackoverflow.com/questions/315078/how-do-you--handle-multiple-instances-of-settimeout
[7] https://github.com/microsoftdocs/azure-docs/blob/main/includes/functions-timeout-dort.md
[8] https://learn.microsoft.com/en-us/azure/azure-functions/functions-cale