Ustawianie limitu czasu funkcji inaczej dla różnych funkcji w tej samej aplikacji zależy od platformy chmur, której używasz:
- AWS Lambda: W AWS Lambda możesz skonfigurować limit czasu dla każdej funkcji indywidualnie. Odbywa się to poprzez dostęp do konsoli Lambda, wybieranie określonej funkcji i dostosowanie ustawienia limitu czasu na karcie konfiguracji. Limit czasu można ustawić między 1 a 900 sekund (15 minut) dla każdej funkcji niezależnie [1].
- Funkcje Azure: W przypadku funkcji Azure właściwość „funkcjaTimeout` w pliku„ host.json` ma zastosowanie globalnie do wszystkich funkcji w aplikacji. Możesz jednak ustawić różne limity czasu dla różnych funkcji, używając osobnych aplikacji funkcyjnych lub wdrażając niestandardową logikę w swoich funkcjach, aby programowo obsługiwać limit czasu. „FunctionTimeout” można skonfigurować do 10 minut na hosting planu konsumpcji i jest nieograniczony w przypadku planów premium i dedykowanych [3] [7].
-Funkcje Google Cloud: W Google Cloud możesz ustawić czas trwania limitu czasu dla każdej funkcji indywidualnie podczas wdrażania za pomocą flagi „-Timeout” z poleceniem „Funkcje GCLoud”. Umożliwia to skonfigurowanie różnych limitu czasu dla różnych funkcji w tym samym projekcie [5].
- Skrypt aplikacji: W przypadku skryptu Google Apps maksymalny czas wykonania jest ustalony na 6 minut dla bezpłatnej wersji i nie ma opcji ustawienia różnych limitu czasu dla różnych skryptów. Możesz jednak podzielić przetwarzanie na wiele skryptów, aby uniknąć limitu czasu [2].
Podsumowując, podczas gdy niektóre platformy, takie jak AWS Lambda i Google Cloud Funkcje, umożliwiają ustawienie różnych limitu czasu dla każdej funkcji, inne takie jak funkcje Azure stosują globalne ustawienie limitu czasu, chyba że zaimplementowano niestandardową logikę.
Cytaty:
[1] https://docs.aws.amazon.com/lambda/latest/dg/configuration-timeout.html
[2] https://www.googlecloudcommunity.com/gc/appsheet-q-a/bot-executes-cript-trigger-twice-to-timeout/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 uchwyt-multiple-instances-ofsettimeout
[7] https://github.com/microsoftdocs/azure-docs/blob/main/includes/functions-timeout-duration.md
[8] https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale