写真の削除と並べ替えを行う 2 つのハンドラーの実行中の注文があり、最善の解決策についてアドバイスをお願いします。
UI でいくつかの写真が削除され、ユーザーは削除ボタンをクリックします。削除コマンドから実際に物理ファイルを削除するイベント ハンドラーまでのフロー全体が開始されます。
その後すぐに、ユーザーは残りの写真を並べ替えます。reorder コマンドからファイル システムの reordering イベント ハンドラまでの新しいフローが再び開始されます。
すでに並行性の問題があります。削除を行わないと、並べ替えを正しく適用できません。現在、この問題はある種のロックで処理されています。一時ファイルが作成され、削除フローの最後に削除されます。そのファイルが存在する間、他のスレッド (ユーザーのアクションに応じて並べ替えまたは削除) が待機します。
これは理想的な解決策ではなく、変更したいと考えています。注文の最後に JSON 呼び出しを介して UI が更新されるため、潜在的なソリューションも非常に高速である必要があります (もちろん、現在のソリューションは高速ではありません)。
後の実装では、イベントのキューを使用することを考えていますが、現時点ではかなり行き詰まっています。
どんなアイデアでも大歓迎です!ありがとう、もすっ!
編集: 私たちが抱えていたその他の結果整合性の問題は、クライアント側で Javascript データ マネージャーを使用することで解決されました。基本的に楽観主義者であり、ユーザーを騙しています! :)私はこれがここに行く方法でもあると信じ始めています。しかし、ファイル システムでデータがいつ変更されたかを知るにはどうすればよいでしょうか。