データ処理後に非同期でメールを送信するシステムを構築しています(処理に最大10秒かかる場合があります)。
私の最初のアイデアは、Windowsサービスで、最初のレコードが処理されるように3秒ごとにデータ処理要求でデータベースをポーリングすることでした。完了したら、ポーリングして、処理する新しい最初のレコードを取得します。
レコードが残っていない場合は、3秒待ってから、再度ポーリングしてレコードを確認します。
これが良い考えかどうかはわかりません。私の意見では、タイマーの使用はプログラムするのに最適な方法ではありません。また、データベースのパフォーマンスと使用が不要な場合でも問題になります。
この場合のベストプラクティスは何ですか?
使用されているテクノロジ:.net 3.5、SQL Server、サーバーはファーム内にあります。