同じアプリ内のさまざまな機能の機能のタイムアウトを異なる方法で、使用しているクラウドプラットフォームに依存します。
-AWS Lambda:AWS Lambdaでは、各機能のタイムアウトを個別に構成できます。これは、Lambdaコンソールにアクセスし、特定の機能を選択し、[構成]タブの下のタイムアウト設定を調整することによって行われます。タイムアウトは、各関数で独立して1〜900秒(15分)に設定できます[1]。
-Azure関数:Azure関数の場合、 `host.json`ファイルの「functiontimeout」プロパティは、アプリ内のすべての機能にグローバルに適用されます。ただし、個別の関数アプリを使用するか、機能内にカスタムロジックを実装してタイムアウトをプログラムで処理することにより、異なる機能の異なるタイムアウトを設定できます。 「functiontimeout」は、消費プランのホスティングのために最大10分間設定でき、プレミアムおよび専用プラン[3] [7]には無制限です。
-Google Cloud関数:Google Cloudでは、「gcloud関数Deploy」コマンドを使用して `-timeout`フラグを使用して、展開中に各関数のタイムアウト期間を個別に設定できます。これにより、同じプロジェクト内で異なる関数に対して異なるタイムアウトを構成できます[5]。
- アプリスクリプト:Google Appsスクリプトの場合、最大実行時間は無料バージョンの6分で固定されており、異なるスクリプトに対して異なるタイムアウトを設定するオプションはありません。ただし、タイムアウトを避けるために、処理を複数のスクリプトに分割することができます[2]。
要約すると、AWS LambdaやGoogle Cloud関数などの一部のプラットフォームは、各関数の異なるタイムアウトを設定することができますが、Azure関数のような他のプラットフォームは、カスタムロジックが実装されていない限り、グローバルタイムアウト設定を適用します。
引用:
[1] https://docs.aws.amazon.com/lambda/latest/dg/configurationtimeout.html
[2] https://www.googlecloudcommunity.com/gc/appsheet-q-a/bot-executes-script-trigger-twice-due-t-timeout/m-p/598297
[3] https://build5nines.com/azure-functions-extend-execution-out-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-setimeout
[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