これある種の質問 私の知る限り、完全に信頼できる唯一の方法は、最初のプロセスで更新されたIDをテーブルに保存し、2番目のプロセスで処理済みとしてマークすることです。基本的に、これはデータベース内のメッセージキューを再発明することです。ナイーブなソリューションがどのように更新を見逃すかについて、あなたは非常によく説明しました。
インポートプロセスで更新された行にマークを付けることは、非常に簡単に実行できます。また、データテーブルのトリガーを使用して実装することもできます。コンシューマープロセスが1つしかない場合は、delete from updated_item returning item_id
だけです。 更新のリストを取得します。かなり複雑に聞こえますが、私見ではそうではありません。バックログの大きさを無料で監視できるなどの機能もあります。