Hi,
Worth noting if you do use quartz, use it to retrieve a list of events to be fired and then fire the event. This approach is slightly more compatible with possibility of running your app on multiple instances at the same time. (Something you might want to do if you need a high availability guarantee.)
Cheers,
Chris