Firebase Functionsのローカルタイムアウト設定方法
エラーの概要・症状
「How to configure timeout of Firebase functions on local」というエラーメッセージは、Firebase Functionsをローカル環境で実行する際に、タイムアウトの設定が適切に行われていないことを示しています。このエラーが発生すると、長時間実行される関数がタイムアウトし、正常に動作しなくなる可能性があります。特に、データ処理や外部サービスとの連携を行う場合、タイムアウトの設定が重要です。
このエラーが発生する原因
このエラーが発生する主な原因は、Firebase Functionsのローカルエミュレーターがデフォルトで設定されたタイムアウト値を使用していることです。デフォルトのタイムアウト値は短く設定されているため、処理が完了する前に関数が終了してしまいます。また、ローカル環境での設定が不十分である場合も、タイムアウトエラーが発生することがあります。
解決方法
Firebase Functionsのタイムアウト設定は、以下の方法で行うことができます。ここでは、代表的な解決策をいくつか紹介します。
解決方法 1: 環境変数を使用して設定する
-
関数ディレクトリに移動します。
コマンドラインで、Firebase Functionsのコードが保存されているディレクトリに移動します。 -
新しいファイルを作成します。
次のコマンドを実行して、.env.localという名前のファイルを作成します。
bash
touch .env.local -
タイムアウト設定を追加します。
以下の行を.env.localファイルに追加します。
FUNCTIONS_EMULATOR_TIMEOUT_SECONDS=540s -
関数をビルドします。
タイムアウトの設定を反映させるために、関数をビルドします。次のコマンドを実行します。
bash
firebase deploy --only functions -
ローカルエミュレーターを再起動します。
エミュレーターをシャットダウンし、再起動します。これにより、新しいタイムアウト設定が適用されます。
解決方法 2: runWithを使用してタイムアウトを設定する
- 関数のコードにタイムアウトを設定します。
以下のコードを参考に、関数にタイムアウトを設定します。
“`javascript
const functions = require(‘firebase-functions’);
const runtimeOpts =

コメント