views:

506

answers:

1

Hi I have developed a scheduler sometime back for an ASP.Net site using cache expiration callbacks. I have the budget now to move the site to a dedicated server so I have written the scheduler as a windows service using a timer object - its working well in test envirinment. I want to know if the timer approach is good enough for this. In other words - what are the best design strategies for creating a ROBUST C# scheduler engine which can load/dispatch the configured/stored tasks every 'n' minutes.

+3  A: 

I would use Quartz.NET. It's well tested, open source and I've used it several times with no problems.

EDIT: Actually, having just spoken to a colleague about scheduling, there is something to be said for using windows scheduled tasks when a lightweight solution will suffice (as another poster pointed out).

Quartz.NET is a full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.

Mitch Wheat
+1 for not invented here. Quartz is the bee's knees.
Anderson Imes
Well - I would say Quartz might be a good library to use - but it seems I have to first get used to it. And apart from that what is so unique to it - if it can run a million jobs a day - so could a timer based windows service. Apart from that, i would be making my service bulky only to use a couple of 100s of features uartz provide. I want to write and maintain my own until I really need to rely on Quartz.
MSIL
can I use Quartz.NET. in MsBuild Tasks ??
alhambraeidos