title: Managing expiration? Polling vs Eventing
body: <p>Imagine a sales engine for perishable goods.  Each item has an expiration date.  A search index would index all the items for sale but is very interested in available for purchase counts as well as when all the items are expired.</p>
  
  <p>To handle keeping up with the expiration dates in the search system I could:</p>
  
  <ol>
  <li><p>Poll the data store on an interval and ask the system for items that have expired since the last time I looked and generate an update event to the search system.  The search system could ask the data store for the current available items count and update the index appropriately. </p></li>
  <li><p>Somehow schedule the expiration event when the item was added to the sales collection and have a processor simply process the event queue. </p></li>
  </ol>
  
  <p>Ideas?  I like the idea of scheduling future events however I'm not aware of technology that will help me delay delivery of the events until a specific time.  Perhaps MS Service Bus can do this with LockedUntilUtc?  There must be a pattern that people are using for this type of stuff and I just don't know what to search for.</p>