2つのリストから項目を照合しています。たとえば、Aの要素cとBのcが一致します。私はいくつかの処理を行い、一致したペアを別のリストに追加します。Firebase:複数の作業者を使用して1回だけアクションが実行されることを確認する
- List A
- a
- b
- c
- List B
- c
- d
これを行うには、リストAとBの両方で追加を監視し、何かが追加されたときに一致するかどうかを確認します。
これはうまくいきますが、1つのクライアントに対して挿入が多すぎます。
だから、スピードアップのために複数のマシンでマッチャーを実行する必要があります。
しかし、私はそれぞれのマッチが1台のマシンでのみ起こるようにしたい、つまりマシン1がマッチするとマシン2がそれを処理する必要はありません。
私はatomic commitsを使用しようとしましたが、これは複数のマッチがお互いに混乱するのを防ぎますが、マッチングはまだ2回続けられます。
要素を「ロック」して、マッチング処理が開始されたら他のマシンがそれらを考慮しないようにするにはどうすればよいですか?