firebaseにインターリーブ/同時実行されている複数の実行があります。ログIDは、新しい実行が発生し、古い実行IDが忘れられたときに変更されます。したがって、実行IDは前方に移動します。古い関数が再開すると、新しい実行IDが使用されます。古い関数の古い実行IDを達成する方法はありますか?&新しい関数の新しい実行IDです。Firebaseのクラウド機能でログに同じ実行IDを持たせる方法
ワークフロー:
は機能1 &機能2は、同じ機能の切り抜いたトリガされているとしましょう。
1. Function1は、一部のデータベース読み取りを行い、http要求を行います。これはhttpの約束を返します - これは時間がかかります(おそらく数ミリ秒)。ログからの実行IDが154690519665944
であると仮定します。
2. function1が待機している間に、Function2がトリガーされます。 function2は実行ID 154690574405903
を取得します。 function2も同じことを行い、http応答を待ちます。
3. Function1が再開し、http応答を取得し、ログ中に別の実行ID 154694739233261
をログに記録します。
実行IDには何が起こったのですか154690519665944
?
複数のトリガが同時に発生しているため、機能が正常に完了したかどうかを確認する唯一の方法は、ログをチェックすることです。したがって、フィルタとしてexecution-idを使用することによって、関数が正常に実行されたかどうかを調べることができました。しかし、firebaseは実行IDをランダムに変更するので、別の解決策を見つけなければならないと思います。
PS:同じ機能をトリガーするアップデートコールがあります。それは親関数の実行IDを変更しますか?
私はあなたが何を求めているのか分かりません。関数を実行するたびに、その関数が実行されている間、その実行IDが保持されます。 –