Quartz.NET
Open-source job scheduling system for .NET
Runtime Environments
Can run embedded within an application or even instantiated as a cluster of stand-alone programs (with load-balance and fail-over capabilities)
Job Scheduling
Jobs are scheduled to run when a given trigger occurs, triggers support wide variety of scheduling options
Job Execution
Jobs can be any .NET class that implements the simple IJob interface, leaving infinite possibilities for the work jobs can perform
Job Persistence
Job stores can be implemented to provide various mechanisms for the storage of jobs, in-memory and multiple relational databases come supported out of the box
Clustering
Built-in support for load balancing your work and graceful fail-over
Listeners & Plug-Ins
Applications can catch scheduling events to monitor or control job/trigger behavior by implementing one or more listener interfaces.
Quartz.NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.