1

Firebaseキューは、処理を追跡するために、次のプロパティを使用しています:Firebaseのクラウド機能でFirebase Queueのデータプロパティをどのようにレプリケートする必要がありますか?

_state_state_changed_owner _progress_error_details_id

私はfirebaseのためのクラウド機能に私のFirebaseキューコードの一部を移行しています。 _ownerプロパティの同等のデータプロパティを取得するにはどうすればよいですか?

また、このプロパティは主に並行性の問題を軽減するためのものですが、クラウド関数は既に別の方法でこの問題を解決していますか?

答えて

2

セマンティクスは2つのシステムで少し異なります。 Firebase Queueの_ownerプロパティの主な理由は、操作のリースが期限切れになるとユーザーコードを強制終了できないため、処理機能の副作用をチェックする必要があります。クラウドファンクションは実行環境を制御し、必要に応じてユーザコードを強制終了することができるため、書き込みの場合は引き続きリースがあると想定できます。

動作をエミュレートするには、Cloud Functionの実行開始時にv4 UUIDを生成し、そのタイムスタンプを使用してデータベースに書き戻して、タイムアウトのリースを行うことができます他の所有者を混乱させることはありません)、関数内のデータベースに書き戻すたびに、それらを現在のUUIDおよび時間と比較します。

+0

お返事ありがとうございます@Chris Raynor。簡単な説明:クラウド関数が実行環境で直接書き込みを管理している場合、実行リース/期限切れメカニズムを再現する必要がある場合は、 '_owner'プロパティを複製する必要がある理由を前提にして修正します衝突)? – Lindauson

+0

申し訳ありませんが、書き込みを直接管理するのではなく、実行ライフサイクル全体を管理しますが、それは '_owner'セマンティクスを複製する理由になります –

0

Fire Cloud向けGoogle Cloud Functions内の並行性の問題(特に競合条件)を解決するには、プロパティが十二分に適切である必要があります(Googleがこれを内部的に解決する方法はまだ調査中です)。

しかし、_ownerプロパティを持つことは、マルチプラットフォームタスクワーカーがあった場合にさらに役立ちます。

関連する問題