web-dev-qa-db-ja.com

Firebase用Cloud Functionsのタイムアウトの設定は、コンソールに保持されません。これはバグですか?

更新:質問の本文に記載した内容と当時の出来事を反映するために、質問を更新しました。また、なぜSanyamの応答にマークを付けなかったのかを正当化しますコンソールにバグがあり、タイムアウト値が一時的なものになっていたため、@ MichaelBleighの応答が最も適切であり、問​​題が解決した時期を知らせてくれました。

一部のエッジケースでは、デフォルトの60秒のタイムアウトを超えて実行する必要があるクラウド関数があります。

問題は、この値はGoogle Cloud Developer ConsoleのCloud Functionsセクションで変更できますが、デプロイするたびに元のデフォルトに戻ることです。

Firebase構成ファイルのいずれかで、この設定への変更を永続化する方法はありますか?

22
Lindauson

デフォルトのタイムアウトはここで変更できます https://console.cloud.google.com/functions/list
select function> test function> edit> timeout

36
Sanyam Jain

functions v2.0. を開始すると、ドキュメントの "Set timeout and memory allocation" セクションの説明に従って、関数宣言でタイムアウトを設定することもできます。

const runtimeOpts = {
  timeoutSeconds: 300,
  memory: '1GB'
}

exports.myStorageFunction = functions
  .runWith(runtimeOpts)
  .storage
  .object()
  .onFinalize((object) = > {
    // do some complicated things that take a lot of memory and time
  });

リリースノートも強調されているように:

Firebase-tools> = v4.0.0が必要になります。

Macでは、最新のfirebase-tools次のコマンドを使用します。

npm install -g firebase-tools

上記のドキュメントリンクに従って、制限と有効な値にも注意してください。

The maximum value for timeoutSeconds is 540, or 9 minutes. 
Valid values for memory are:

128MB
256MB
512MB
1GB
2GB
17
vir us

機能を選択して[編集]を押すと、ページの下部にある[その他]ドロップダウンの下にあります。現在の最大値は540秒です。

3
BGitlin

@MichaelBleighのコメントごと。これは、Firebase CLIの最新バージョン(この投稿の時点で3.7.0)で解決されています。

それでもこの問題が発生する場合は、Firebase CLIの最新バージョンを使用していることを確認してください。

1
Lindauson