SQL Serverの次のテーブルについて考えてみます。タスク(Payload nvarchar、DateToExecute datetime、DateExecuted datetime null)。
これで、2つのワーカープロセス(この場合は2つのAzureワーカーロールインスタンス)ができました。どちらも、 DateExecutedがNULLでDateToExecute <= GETDATE()であるレコードを定期的に取得しようとします。次に、そのレコードを処理し、(SQL更新)DateExecutedを現在の日付に設定します。
問題は、単一のタスクが単一のワーカーインスタンスによって一度だけ処理される必要があることです。
そのようなシナリオを実装するための同期またはロックを提供するための最良の方法は何ですか?