title: Can I poll a database every 3 seconds?
body: <p>I am building a system to asynchronously send mails after processing data (it could take up to 10 seconds the processing).</p>
  <p>My initial idea was to have a Windows service poll the database with data processing requests every 3 seconds for the first record to be processed. When done, poll and get the new first record to be processed.</p>
  <p>When there are no records left wait 3 seconds and poll again to check for records.</p>
  <p>I'm not sure if this is a good idea. The use of a timer is not a great way to program in my opinion. Also the performance and the use of the database even when not needed is a concern.</p>
  <p>What is the best practice in this case?</p>
  <p>Technologies used: .NET 3.5, SQL Server, and servers are in farm.</p>